#include <linux/vserver/limit.h>
#include <linux/vserver/context.h>
#include <linux/vserver/switch.h>
-#include <linux/vinline.h>
+#include <linux/vs_base.h>
+#include <linux/vs_context.h>
+#include <linux/vs_limit.h>
#include <asm/errno.h>
#include <asm/uaccess.h>
+const char *vlimit_name[NUM_LIMITS] = {
+ [RLIMIT_CPU] = "CPU",
+ [RLIMIT_RSS] = "RSS",
+ [RLIMIT_NPROC] = "NPROC",
+ [RLIMIT_NOFILE] = "NOFILE",
+ [RLIMIT_MEMLOCK] = "VML",
+ [RLIMIT_AS] = "VM",
+ [RLIMIT_LOCKS] = "LOCKS",
+ [RLIMIT_MSGQUEUE] = "MSGQ",
+ [VLIMIT_NSOCK] = "NSOCK",
+};
+
+
static int is_valid_rlimit(int id)
{
int valid = 0;
if (!is_valid_rlimit(vc_data.id))
return -ENOTSUPP;
- vxi = find_vx_info(id);
+ vxi = locate_vx_info(id);
if (!vxi)
return -ESRCH;
if (!is_valid_rlimit(vc_data.id))
return -ENOTSUPP;
- vxi = find_vx_info(id);
+ vxi = locate_vx_info(id);
if (!vxi)
return -ESRCH;
v = vxi->limit.rlim[RLIMIT_RSS];
if (v != RLIM_INFINITY)
val->totalram = min(val->totalram, v);
- v = atomic_read(&vxi->limit.res[RLIMIT_RSS]);
+ v = atomic_read(&vxi->limit.rcur[RLIMIT_RSS]);
val->freeram = (v < val->totalram) ? val->totalram - v : 0;
val->bufferram = 0;
val->totalhigh = 0;
if (w != RLIM_INFINITY)
val->totalswap = min(val->totalswap, w -
((v != RLIM_INFINITY) ? v : 0));
- w = atomic_read(&vxi->limit.res[RLIMIT_AS]);
+ w = atomic_read(&vxi->limit.rcur[RLIMIT_AS]);
val->freeswap = (w < val->totalswap) ? val->totalswap - w : 0;
return;
}