SOURCES: patch-0.30.207-vs2.0.diff (NEW) - kernel part update

baggins baggins at pld-linux.org
Mon Jul 11 13:21:10 CEST 2005


Author: baggins                      Date: Mon Jul 11 11:21:10 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- kernel part update

---- Files affected:
SOURCES:
   patch-0.30.207-vs2.0.diff (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/patch-0.30.207-vs2.0.diff
diff -u /dev/null SOURCES/patch-0.30.207-vs2.0.diff:1.1
--- /dev/null	Mon Jul 11 13:21:10 2005
+++ SOURCES/patch-0.30.207-vs2.0.diff	Mon Jul 11 13:21:05 2005
@@ -0,0 +1,884 @@
+diff -NurpP --minimal util-vserver-0.30.207/kernel/context_cmd.h util-vserver-0.30.207-b/kernel/context_cmd.h
+--- util-vserver-0.30.207/kernel/context_cmd.h	2005-04-28 19:43:54.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/context_cmd.h	2005-07-11 04:51:19.000000000 +0200
+@@ -27,7 +27,13 @@ extern int vc_vx_info(uint32_t, void __u
+ 
+ /* context commands */
+ 
+-#define VCMD_ctx_create		VC_CMD(VPROC, 1, 0)
++#define VCMD_ctx_create_v0	VC_CMD(VPROC, 1, 0)
++#define VCMD_ctx_create		VC_CMD(VPROC, 1, 1)
++
++struct	vcmd_ctx_create {
++	uint64_t flagword;
++};
++
+ #define VCMD_ctx_migrate	VC_CMD(PROCMIG, 1, 0)
+ 
+ #ifdef	__KERNEL__
+diff -NurpP --minimal util-vserver-0.30.207/kernel/context.h util-vserver-0.30.207-b/kernel/context.h
+--- util-vserver-0.30.207/kernel/context.h	2005-04-28 12:58:02.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/context.h	2005-07-11 04:51:19.000000000 +0200
+@@ -36,6 +36,8 @@
+ #define VXF_STATE_SETUP		(1ULL<<32)
+ #define VXF_STATE_INIT		(1ULL<<33)
+ 
++#define VXF_STATE_HELPER	(1ULL<<36)
++
+ #define VXF_FORK_RSS		(1ULL<<48)
+ #define VXF_PROLIFIC		(1ULL<<49)
+ 
+@@ -43,6 +45,8 @@
+ 
+ #define VXF_ONE_TIME		(0x0003ULL<<32)
+ 
++#define VXF_INIT_SET		(VXF_STATE_SETUP|VXF_STATE_INIT)
++
+ 
+ /* context caps */
+ 
+@@ -52,6 +56,7 @@
+ #define VXC_SET_RLIMIT		0x00000002
+ 
+ #define VXC_RAW_ICMP		0x00000100
++#define VXC_SYSLOG		0x00001000
+ 
+ #define VXC_SECURE_MOUNT	0x00010000
+ #define VXC_SECURE_REMOUNT	0x00020000
+@@ -60,10 +65,15 @@
+ #define VXC_QUOTA_CTL		0x00100000
+ 
+ 
+-/* vshelper sync commands */
++/* context state changes */
+ 
+-#define	VS_CONTEXT_CREATED	1
+-#define	VS_CONTEXT_DESTROY	2
++enum {
++	VSC_STARTUP = 1,
++	VSC_SHUTDOWN,
++
++	VSC_NETUP,
++	VSC_NETDOWN,
++};
+ 
+ 
+ #ifdef	__KERNEL__
+@@ -78,7 +88,6 @@
+ 
+ struct vx_info {
+ 	struct hlist_node vx_hlist;		/* linked list of contexts */
+-	struct rcu_head vx_rcu;			/* the rcu head */
+ 	xid_t vx_id;				/* context id */
+ 	atomic_t vx_usecnt;			/* usage count */
+ 	atomic_t vx_tasks;			/* tasks count */
+@@ -93,8 +102,7 @@ struct vx_info {
+ 
+ 	pid_t vx_initpid;			/* PID of fake init process */
+ 
+-	spinlock_t vx_lock;
+-	wait_queue_head_t vx_exit;		/* context exit waitqueue */
++	wait_queue_head_t vx_wait;		/* context exit waitqueue */
+ 
+ 	struct _vx_limit limit;			/* vserver limits */
+ 	struct _vx_sched sched;			/* vserver scheduler */
+@@ -111,7 +119,6 @@ struct vx_info {
+ #define VXS_PAUSED	0x0010
+ #define VXS_ONHOLD	0x0020
+ #define VXS_SHUTDOWN	0x0100
+-#define VXS_DEFUNCT	0x1000
+ #define VXS_RELEASED	0x8000
+ 
+ /* check conditions */
+@@ -145,9 +152,7 @@ extern int xid_is_hashed(xid_t);
+ 
+ extern int vx_migrate_task(struct task_struct *, struct vx_info *);
+ 
+-extern long vs_context_state(struct vx_info *, unsigned int);
+-
+-extern void free_vx_info(struct vx_info *);
++extern long vs_state_change(struct vx_info *, unsigned int);
+ 
+ 
+ #endif	/* __KERNEL__ */
+diff -NurpP --minimal util-vserver-0.30.207/kernel/cvirt_cmd.h util-vserver-0.30.207-b/kernel/cvirt_cmd.h
+--- util-vserver-0.30.207/kernel/cvirt_cmd.h	2005-04-28 19:43:54.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/cvirt_cmd.h	2005-07-11 04:51:19.000000000 +0200
+@@ -1,7 +1,34 @@
+ #ifndef _VX_CVIRT_CMD_H
+ #define _VX_CVIRT_CMD_H
+ 
+-/*  cvirt vserver commands */
++/* virtual host info name commands */
+ 
++#define VCMD_set_vhi_name	VC_CMD(VHOST, 1, 0)
++#define VCMD_get_vhi_name	VC_CMD(VHOST, 2, 0)
+ 
++struct	vcmd_vhi_name_v0 {
++	uint32_t field;
++	char name[65];
++};
++
++
++enum vhi_name_field {
++	VHIN_CONTEXT=0,
++	VHIN_SYSNAME,
++	VHIN_NODENAME,
++	VHIN_RELEASE,
++	VHIN_VERSION,
++	VHIN_MACHINE,
++	VHIN_DOMAINNAME,
++};
++
++
++#ifdef	__KERNEL__
++
++#include <linux/compiler.h>
++
++extern int vc_set_vhi_name(uint32_t, void __user *);
++extern int vc_get_vhi_name(uint32_t, void __user *);
++
++#endif	/* __KERNEL__ */
+ #endif	/* _VX_CVIRT_CMD_H */
+diff -NurpP --minimal util-vserver-0.30.207/kernel/cvirt.h util-vserver-0.30.207-b/kernel/cvirt.h
+--- util-vserver-0.30.207/kernel/cvirt.h	2005-04-28 12:58:02.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/cvirt.h	2005-07-11 04:51:19.000000000 +0200
+@@ -13,6 +13,10 @@ struct vx_info;
+ void vx_update_load(struct vx_info *);
+ 
+ 
++int vx_uts_virt_handler(struct ctl_table *ctl, int write, xid_t xid,
++	void **datap, size_t *lenp);
++
++
+ int vx_do_syslog(int, char __user *, int);
+ 
+ #endif	/* __KERNEL__ */
+diff -NurpP --minimal util-vserver-0.30.207/kernel/debug.h util-vserver-0.30.207-b/kernel/debug.h
+--- util-vserver-0.30.207/kernel/debug.h	2005-04-28 12:58:02.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/debug.h	2005-07-11 04:51:19.000000000 +0200
+@@ -152,186 +152,85 @@ static inline void __vxh_copy_vxi(struct
+ 	}
+ }
+ 
+-static inline void vxh_throw_oops(void)
+-{
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	entry->type = VXH_THROW_OOPS;
+-	preempt_enable();
+-
+-	/* prevent further acquisition */
+-	vxh_active = 0;
+-}
+-
+-static inline void vxh_get_vx_info(struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->type = VXH_GET_VX_INFO;
+-	preempt_enable();
+-}
+-
+-static inline void vxh_put_vx_info(struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->type = VXH_PUT_VX_INFO;
+-	preempt_enable();
+-}
+-
+-static inline void vxh_init_vx_info(struct vx_info *vxi, void *data)
+-{
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->sc.data = data;
+-	entry->type = VXH_INIT_VX_INFO;
+-	preempt_enable();
+-}
+ 
+-static inline void vxh_set_vx_info(struct vx_info *vxi, void *data)
+-{
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->sc.data = data;
+-	entry->type = VXH_SET_VX_INFO;
+-	preempt_enable();
+-}
+-
+-static inline void vxh_clr_vx_info(struct vx_info *vxi, void *data)
+-{
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->sc.data = data;
+-	entry->type = VXH_CLR_VX_INFO;
++#define __VXH_BODY(__type, __data)		\
++	struct _vx_hist_entry *entry;		\
++						\
++	preempt_disable();			\
++	entry = vxh_advance(VXH_HERE());	\
++	__data;					\
++	entry->type = __type;			\
+ 	preempt_enable();
+-}
+ 
+-static inline void vxh_claim_vx_info(struct vx_info *vxi, void *data)
+-{
+-	struct _vx_hist_entry *entry;
+ 
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->sc.data = data;
+-	entry->type = VXH_CLAIM_VX_INFO;
+-	preempt_enable();
+-}
+-
+-static inline void vxh_release_vx_info(struct vx_info *vxi, void *data)
+-{
+-	struct _vx_hist_entry *entry;
++	/* pass vxi only */
++#define __VXH_SIMPLE				\
++	__vxh_copy_vxi(entry, vxi)
+ 
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->sc.data = data;
+-	entry->type = VXH_RELEASE_VX_INFO;
+-	preempt_enable();
++#define VXH_SIMPLE(__name, __type)		\
++static inline void __name(struct vx_info *vxi)	\
++{						\
++	__VXH_BODY(__type, __VXH_SIMPLE)	\
+ }
+ 
+-static inline void vxh_alloc_vx_info(struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
++	/* pass vxi and data (void *) */
++#define __VXH_DATA				\
++	__vxh_copy_vxi(entry, vxi);		\
++	entry->sc.data = data
+ 
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->type = VXH_ALLOC_VX_INFO;
+-	preempt_enable();
++#define VXH_DATA(__name, __type)		\
++static inline 					\
++void __name(struct vx_info *vxi, void *data)	\
++{						\
++	__VXH_BODY(__type, __VXH_DATA)		\
+ }
+ 
+-static inline void vxh_dealloc_vx_info(struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
++	/* pass vxi and arg (long) */
++#define __VXH_LARG				\
++	__vxh_copy_vxi(entry, vxi);		\
++	entry->ll.arg = arg
+ 
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->type = VXH_DEALLOC_VX_INFO;
+-	preempt_enable();
++#define VXH_LARG(__name, __type)		\
++static inline 					\
++void __name(struct vx_info *vxi, long arg)	\
++{						\
++	__VXH_BODY(__type, __VXH_LARG)		\
+ }
+ 
+-static inline void vxh_hash_vx_info(struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
+ 
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->type = VXH_HASH_VX_INFO;
+-	preempt_enable();
+-}
+-
+-static inline void vxh_unhash_vx_info(struct vx_info *vxi)
++static inline void vxh_throw_oops(void)
+ {
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->type = VXH_UNHASH_VX_INFO;
+-	preempt_enable();
++	__VXH_BODY(VXH_THROW_OOPS, {});
++	/* prevent further acquisition */
++	vxh_active = 0;
+ }
+ 
+-static inline void vxh_loc_vx_info(unsigned arg, struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
+-
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->ll.arg = arg;
+-	entry->type = VXH_LOC_VX_INFO;
+-	preempt_enable();
+-}
++VXH_SIMPLE(vxh_get_vx_info,	VXH_GET_VX_INFO);
++VXH_SIMPLE(vxh_put_vx_info,	VXH_PUT_VX_INFO);
+ 
+-static inline void vxh_lookup_vx_info(unsigned arg, struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
++VXH_DATA(vxh_init_vx_info,	VXH_INIT_VX_INFO);
++VXH_DATA(vxh_set_vx_info,	VXH_SET_VX_INFO);
++VXH_DATA(vxh_clr_vx_info,	VXH_CLR_VX_INFO);
+ 
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->ll.arg = arg;
+-	entry->type = VXH_LOOKUP_VX_INFO;
+-	preempt_enable();
+-}
++VXH_DATA(vxh_claim_vx_info,	VXH_CLAIM_VX_INFO);
++VXH_DATA(vxh_release_vx_info,	VXH_RELEASE_VX_INFO);
+ 
+-static inline void vxh_create_vx_info(unsigned arg, struct vx_info *vxi)
+-{
+-	struct _vx_hist_entry *entry;
++VXH_SIMPLE(vxh_alloc_vx_info,	VXH_ALLOC_VX_INFO);
++VXH_SIMPLE(vxh_dealloc_vx_info, VXH_DEALLOC_VX_INFO);
+ 
+-	preempt_disable();
+-	entry = vxh_advance(VXH_HERE());
+-	__vxh_copy_vxi(entry, vxi);
+-	entry->ll.arg = arg;
+-	entry->type = VXH_CREATE_VX_INFO;
+-	preempt_enable();
+-}
++VXH_SIMPLE(vxh_hash_vx_info,	VXH_HASH_VX_INFO);
++VXH_SIMPLE(vxh_unhash_vx_info,	VXH_UNHASH_VX_INFO);
+ 
++VXH_LARG(vxh_loc_vx_info,	VXH_LOC_VX_INFO);
++VXH_LARG(vxh_lookup_vx_info,	VXH_LOOKUP_VX_INFO);
++VXH_LARG(vxh_create_vx_info,	VXH_CREATE_VX_INFO);
+ 
+ extern void vxh_dump_history(void);
+ 
++
+ #else  /* CONFIG_VSERVER_HISTORY */
+ 
++
+ #define vxh_throw_oops()		do { } while (0)
+ 
+ #define vxh_get_vx_info(v)		do { } while (0)
+diff -NurpP --minimal util-vserver-0.30.207/kernel/dlimit_cmd.h util-vserver-0.30.207-b/kernel/dlimit_cmd.h
+--- util-vserver-0.30.207/kernel/dlimit_cmd.h	2005-04-28 19:43:54.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/dlimit_cmd.h	2005-07-11 04:51:19.000000000 +0200
+@@ -27,13 +27,15 @@ struct	vcmd_ctx_dlimit_v0 {
+ 
+ #ifdef	__KERNEL__
+ 
++#ifdef	CONFIG_COMPAT
++
+ struct	vcmd_ctx_dlimit_base_v0_x32 {
+-	uint32_t __user name_ptr;
++	compat_uptr_t name_ptr;
+ 	uint32_t flags;
+ };
+ 
+ struct	vcmd_ctx_dlimit_v0_x32 {
+-	uint32_t __user name_ptr;
++	compat_uptr_t name_ptr;
+ 	uint32_t space_used;			/* used space in kbytes */
+ 	uint32_t space_total;			/* maximum space in kbytes */
+ 	uint32_t inodes_used;			/* used inodes */
+@@ -42,6 +44,8 @@ struct	vcmd_ctx_dlimit_v0_x32 {
+ 	uint32_t flags;
+ };
+ 
++#endif	/* CONFIG_COMPAT */
++
+ #include <linux/compiler.h>
+ 
+ extern int vc_add_dlimit(uint32_t, void __user *);
+@@ -50,5 +54,15 @@ extern int vc_rem_dlimit(uint32_t, void 
+ extern int vc_set_dlimit(uint32_t, void __user *);
+ extern int vc_get_dlimit(uint32_t, void __user *);
+ 
++#ifdef	CONFIG_COMPAT
++
++extern int vc_add_dlimit_x32(uint32_t, void __user *);
++extern int vc_rem_dlimit_x32(uint32_t, void __user *);
++
++extern int vc_set_dlimit_x32(uint32_t, void __user *);
++extern int vc_get_dlimit_x32(uint32_t, void __user *);
++
++#endif	/* CONFIG_COMPAT */
++
+ #endif	/* __KERNEL__ */
+ #endif	/* _VX_DLIMIT_CMD_H */
+diff -NurpP --minimal util-vserver-0.30.207/kernel/dlimit.h util-vserver-0.30.207-b/kernel/dlimit.h
+--- util-vserver-0.30.207/kernel/dlimit.h	2005-04-28 12:58:02.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/dlimit.h	2005-07-11 04:51:19.000000000 +0200
+@@ -2,7 +2,6 @@
+ #define _VX_DLIMIT_H
+ 
+ #include "switch.h"
+-#include <linux/spinlock.h>
+ 
+ #define CDLIM_UNSET		(0ULL)
+ #define CDLIM_INFINITY		(~0ULL)
+@@ -11,6 +10,8 @@
+ 
+ #ifdef	__KERNEL__
+ 
++#include <linux/spinlock.h>
++
+ struct super_block;
+ 
+ struct dl_info {
+diff -NurpP --minimal util-vserver-0.30.207/kernel/inode_cmd.h util-vserver-0.30.207-b/kernel/inode_cmd.h
+--- util-vserver-0.30.207/kernel/inode_cmd.h	2005-04-28 19:43:54.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/inode_cmd.h	2005-07-11 04:51:19.000000000 +0200
+@@ -27,13 +27,17 @@ struct	vcmd_ctx_iattr_v1 {
+ 
+ #ifdef	__KERNEL__
+ 
++#ifdef	CONFIG_COMPAT
++
+ struct	vcmd_ctx_iattr_v1_x32 {
+-	uint32_t __user name;
++	compat_uptr_t name_ptr;
+ 	uint32_t xid;
+ 	uint32_t flags;
+ 	uint32_t mask;
+ };
+ 
++#endif	/* CONFIG_COMPAT */
++
+ #include <linux/compiler.h>
+ 
+ extern int vc_get_iattr_v0(uint32_t, void __user *);
+@@ -42,5 +46,12 @@ extern int vc_set_iattr_v0(uint32_t, voi
+ extern int vc_get_iattr(uint32_t, void __user *);
+ extern int vc_set_iattr(uint32_t, void __user *);
+ 
++#ifdef	CONFIG_COMPAT
++
++extern int vc_get_iattr_x32(uint32_t, void __user *);
++extern int vc_set_iattr_x32(uint32_t, void __user *);
++
++#endif	/* CONFIG_COMPAT */
++
+ #endif	/* __KERNEL__ */
+ #endif	/* _VX_INODE_CMD_H */
+diff -NurpP --minimal util-vserver-0.30.207/kernel/legacy.h util-vserver-0.30.207-b/kernel/legacy.h
+--- util-vserver-0.30.207/kernel/legacy.h	2005-04-28 14:02:25.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/legacy.h	2005-07-11 04:51:19.000000000 +0200
+@@ -40,11 +40,6 @@ struct	vcmd_set_ipv4root_v3 {
+ #define VX_INFO_NAMESPACE	128	/* save private namespace */
+ 
+ 
+-#define NB_S_CONTEXT	16
+-
+-#define NB_IPV4ROOT	16
+-
+-
+ #ifdef	__KERNEL__
+ extern int vc_new_s_context(uint32_t, void __user *);
+ extern int vc_set_ipv4root(uint32_t, void __user *);
+diff -NurpP --minimal util-vserver-0.30.207/kernel/namespace_cmd.h util-vserver-0.30.207-b/kernel/namespace_cmd.h
+--- util-vserver-0.30.207/kernel/namespace_cmd.h	1970-01-01 01:00:00.000000000 +0100
++++ util-vserver-0.30.207-b/kernel/namespace_cmd.h	2005-07-11 04:51:19.000000000 +0200
+@@ -0,0 +1,16 @@
++#ifndef _VX_NAMESPACE_CMD_H
++#define _VX_NAMESPACE_CMD_H
++
++#define VCMD_enter_namespace	VC_CMD(PROCALT, 1, 0)
++#define VCMD_cleanup_namespace	VC_CMD(PROCALT, 2, 0)
++#define VCMD_set_namespace	VC_CMD(PROCALT, 3, 0)
++
++
++#ifdef	__KERNEL__
++
++extern int vc_enter_namespace(uint32_t, void __user *);
++extern int vc_cleanup_namespace(uint32_t, void __user *);
++extern int vc_set_namespace(uint32_t, void __user *);
++
++#endif	/* __KERNEL__ */
++#endif	/* _VX_NAMESPACE_CMD_H */
+diff -NurpP --minimal util-vserver-0.30.207/kernel/namespace.h util-vserver-0.30.207-b/kernel/namespace.h
+--- util-vserver-0.30.207/kernel/namespace.h	2005-04-28 12:58:02.000000000 +0200
++++ util-vserver-0.30.207-b/kernel/namespace.h	2005-07-11 04:51:19.000000000 +0200
+@@ -3,56 +3,12 @@
+ 
+ #include <linux/types.h>
+ 
+-
+-/* virtual host info names */
+-
+-#define VCMD_vx_set_vhi_name	VC_CMD(VHOST, 1, 0)
+-#define VCMD_vx_get_vhi_name	VC_CMD(VHOST, 2, 0)
+-
+-struct	vcmd_vx_vhi_name_v0 {
+-	uint32_t field;
+-	char name[65];
+-};
+-
+-
+-enum vx_vhi_name_field {
+-	VHIN_CONTEXT=0,
+-	VHIN_SYSNAME,
+-	VHIN_NODENAME,
+-	VHIN_RELEASE,
+-	VHIN_VERSION,
+-	VHIN_MACHINE,
+-	VHIN_DOMAINNAME,
+-};
+-
+-
+-#ifdef	__KERNEL__
+-
+-#include <linux/compiler.h>
+-
+-extern int vc_set_vhi_name(uint32_t, void __user *);
+-extern int vc_get_vhi_name(uint32_t, void __user *);
+-
+-#endif	/* __KERNEL__ */
+-
+-#define VCMD_enter_namespace	VC_CMD(PROCALT, 1, 0)
+-#define VCMD_cleanup_namespace	VC_CMD(PROCALT, 2, 0)
+-#define VCMD_set_namespace	VC_CMD(PROCALT, 3, 0)
+-
+-#ifdef	__KERNEL__
+-
+ struct vx_info;
+ struct namespace;
+ struct fs_struct;
+-struct vfsmount;
+ 
+ extern int vx_set_namespace(struct vx_info *, struct namespace *, struct fs_struct *);
+ 
+-extern int vc_enter_namespace(uint32_t, void __user *);
+-extern int vc_cleanup_namespace(uint32_t, void __user *);
+-extern int vc_set_namespace(uint32_t, void __user *);
+-
+-#endif	/* __KERNEL__ */
<<Diff was trimmed, longer than 597 lines>>



More information about the pld-cvs-commit mailing list