VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / kernel / vserver / limit.c
index 5bd2fdc..99590bb 100644 (file)
 #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;
@@ -55,7 +70,7 @@ int vc_get_rlimit(uint32_t id, void __user *data)
        if (!is_valid_rlimit(vc_data.id))
                return -ENOTSUPP;
                
-       vxi = find_vx_info(id);
+       vxi = locate_vx_info(id);
        if (!vxi)
                return -ESRCH;
 
@@ -81,7 +96,7 @@ int vc_set_rlimit(uint32_t id, void __user *data)
        if (!is_valid_rlimit(vc_data.id))
                return -ENOTSUPP;
 
-       vxi = find_vx_info(id);
+       vxi = locate_vx_info(id);
        if (!vxi)
                return -ESRCH;
 
@@ -124,7 +139,7 @@ void vx_vsi_meminfo(struct sysinfo *val)
        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;
@@ -142,7 +157,7 @@ void vx_vsi_swapinfo(struct sysinfo *val)
        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;
 }