X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=kernel%2Fvserver%2Fswitch.c;h=ce383a45415e6f0b4f81bd12b28d6aeb01d5bf17;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=b2e17bfe25acc35146c776c9b17e7fdc7476e7e4;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/kernel/vserver/switch.c b/kernel/vserver/switch.c index b2e17bfe2..ce383a454 100644 --- a/kernel/vserver/switch.c +++ b/kernel/vserver/switch.c @@ -14,7 +14,6 @@ * */ -#include #include #include #include @@ -52,10 +51,10 @@ int vc_get_version(uint32_t id) #ifdef CONFIG_COMPAT -#define __COMPAT(name, id, data, compat) \ +#define __COMPAT(name, id, data, compat) \ (compat) ? name ## _x32 (id, data) : name (id, data) #else -#define __COMPAT(name, id, data, compat) \ +#define __COMPAT(name, id, data, compat) \ name (id, data) #endif @@ -108,6 +107,8 @@ long do_vserver(uint32_t cmd, uint32_t id, void __user *data, int compat) case VCMD_nx_info: return vc_nx_info(id, data); + case VCMD_set_namespace_v0: + return vc_set_namespace(-1, data); case VCMD_set_namespace: return vc_set_namespace(id, data); case VCMD_cleanup_namespace: @@ -129,10 +130,17 @@ long do_vserver(uint32_t cmd, uint32_t id, void __user *data, int compat) #endif switch (cmd) { +#ifdef CONFIG_IA32_EMULATION + case VCMD_get_rlimit: + return __COMPAT(vc_get_rlimit, id, data, compat); + case VCMD_set_rlimit: + return __COMPAT(vc_set_rlimit, id, data, compat); +#else case VCMD_get_rlimit: return vc_get_rlimit(id, data); case VCMD_set_rlimit: return vc_set_rlimit(id, data); +#endif case VCMD_get_rlimit_mask: return vc_get_rlimit_mask(id, data); @@ -213,6 +221,8 @@ long do_vserver(uint32_t cmd, uint32_t id, void __user *data, int compat) return vc_ctx_create(id, NULL); case VCMD_ctx_create: return vc_ctx_create(id, data); + case VCMD_ctx_migrate_v0: + return vc_ctx_migrate(id, NULL); case VCMD_ctx_migrate: return vc_ctx_migrate(id, data);