fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / kernel / vserver / limit_init.h
index bee92ef..7722c1e 100644 (file)
@@ -1,31 +1,32 @@
 
 
-#include <linux/config.h>
-
-
 static inline void vx_info_init_limit(struct _vx_limit *limit)
 {
        int lim;
 
        for (lim=0; lim<NUM_LIMITS; lim++) {
-               limit->rlim[lim] = RLIM_INFINITY;
-               limit->rmax[lim] = 0;
-               atomic_set(&limit->rcur[lim], 0);
-               atomic_set(&limit->lhit[lim], 0);
+               __rlim_soft(limit, lim) = RLIM_INFINITY;
+               __rlim_hard(limit, lim) = RLIM_INFINITY;
+               __rlim_set(limit, lim, 0);
+               atomic_set(&__rlim_lhit(limit, lim), 0);
+               __rlim_rmin(limit, lim) = 0;
+               __rlim_rmax(limit, lim) = 0;
        }
 }
 
 static inline void vx_info_exit_limit(struct _vx_limit *limit)
 {
-#ifdef CONFIG_VSERVER_DEBUG
-       unsigned long value;
-       unsigned int lim;
+#ifdef CONFIG_VSERVER_WARN
+       rlim_t value;
+       int lim;
 
        for (lim=0; lim<NUM_LIMITS; lim++) {
-               value = atomic_read(&limit->rcur[lim]);
+               if ((1 << lim) & VLIM_NOCHECK)
+                       continue;
+               value = __rlim_get(limit, lim);
                vxwprintk(value,
                        "!!! limit: %p[%s,%d] = %ld on exit.",
-                       limit, vlimit_name[lim], lim, value);
+                       limit, vlimit_name[lim], lim, (long)value);
        }
 #endif
 }