[kernel] r6180 - in dists/trunk/linux-2.6/debian: arch/amd64
arch/i386 arch/powerpc patches patches/series
Bastian Blank
waldi at costa.debian.org
Mon Mar 13 13:23:31 UTC 2006
Author: waldi
Date: Mon Mar 13 13:23:26 2006
New Revision: 6180
Added:
dists/trunk/linux-2.6/debian/patches/vserver-vs2.0.2-rc12.patch
- copied, changed from r5994, dists/trunk/linux-2.6/debian/patches/vserver-vs2.0.2-rc10.patch
Removed:
dists/trunk/linux-2.6/debian/patches/vserver-vs2.0.2-rc10.patch
Modified:
dists/trunk/linux-2.6/debian/arch/amd64/defines
dists/trunk/linux-2.6/debian/arch/i386/defines
dists/trunk/linux-2.6/debian/arch/powerpc/defines
dists/trunk/linux-2.6/debian/patches/series/0experimental.1-extra
Log:
* debian/arch/amd64/defines, debian/arch/i386/defines,
debian/arch/powerpc/defines: Reenable vserver.
* debian/patches/series/0experimental.1-extra
- Use new vserver patch.
- Use wildcards.
* debian/patches/vserver-vs2.0.2-rc10.patch: Remove.
* debian/patches/vserver-vs2.0.2-rc12.patch: Add.
Modified: dists/trunk/linux-2.6/debian/arch/amd64/defines
==============================================================================
--- dists/trunk/linux-2.6/debian/arch/amd64/defines (original)
+++ dists/trunk/linux-2.6/debian/arch/amd64/defines Mon Mar 13 13:23:26 2006
@@ -8,7 +8,7 @@
kernel-arch: x86_64
kernel-header-dirs: x86_64
subarches:
-# vserver
+ vserver
# xen
[image]
Modified: dists/trunk/linux-2.6/debian/arch/i386/defines
==============================================================================
--- dists/trunk/linux-2.6/debian/arch/i386/defines (original)
+++ dists/trunk/linux-2.6/debian/arch/i386/defines Mon Mar 13 13:23:26 2006
@@ -8,7 +8,7 @@
kernel-arch: i386
kernel-header-dirs: i386
subarches:
-# vserver
+ vserver
# xen
[image]
Modified: dists/trunk/linux-2.6/debian/arch/powerpc/defines
==============================================================================
--- dists/trunk/linux-2.6/debian/arch/powerpc/defines (original)
+++ dists/trunk/linux-2.6/debian/arch/powerpc/defines Mon Mar 13 13:23:26 2006
@@ -8,7 +8,7 @@
kernel-arch: powerpc
kpkg-subarch: ppc
subarches:
-# vserver
+ vserver
[image]
Modified: dists/trunk/linux-2.6/debian/patches/series/0experimental.1-extra
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/0experimental.1-extra (original)
+++ dists/trunk/linux-2.6/debian/patches/series/0experimental.1-extra Mon Mar 13 13:23:26 2006
@@ -1,7 +1,7 @@
+ maclist.patch arm armeb
+ arm-nslu2-maclist.patch arm armeb
-+ vserver-version.patch amd64_vserver i386_vserver hppa_vserver powerpc_vserver
-+ vserver-vs2.0.2-rc10.patch amd64_vserver i386_vserver powerpc_vserver
++ vserver-version.patch *_vserver
++ vserver-vs2.0.2-rc12.patch *_vserver
+ xen-tree-merge-21940.patch amd64_xen i386_xen
+ mips-tulip.patch mipsel
+ mips-tulip_dc21143.patch mipsel
Copied: dists/trunk/linux-2.6/debian/patches/vserver-vs2.0.2-rc12.patch (from r5994, dists/trunk/linux-2.6/debian/patches/vserver-vs2.0.2-rc10.patch)
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/vserver-vs2.0.2-rc10.patch (original)
+++ dists/trunk/linux-2.6/debian/patches/vserver-vs2.0.2-rc12.patch Mon Mar 13 13:23:26 2006
@@ -1,6 +1,7 @@
-diff -NurpP --minimal linux-2.6.16-rc5/arch/alpha/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/Kconfig
---- linux-2.6.16-rc5/arch/alpha/Kconfig 2006-02-28 15:01:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
+index eedf41b..816a4d5 100644
+--- a/arch/alpha/Kconfig
++++ b/arch/alpha/Kconfig
@@ -619,6 +619,8 @@ source "arch/alpha/oprofile/Kconfig"
source "arch/alpha/Kconfig.debug"
@@ -10,9 +11,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/alpha/kernel/entry.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/kernel/entry.S
---- linux-2.6.16-rc5/arch/alpha/kernel/entry.S 2006-02-28 15:01:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/kernel/entry.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
+index 7af15bf..780cb93 100644
+--- a/arch/alpha/kernel/entry.S
++++ b/arch/alpha/kernel/entry.S
@@ -874,24 +874,15 @@ sys_getxgid:
.globl sys_getxpid
.ent sys_getxpid
@@ -45,9 +47,10 @@
ret
.end sys_getxpid
-diff -NurpP --minimal linux-2.6.16-rc5/arch/alpha/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/alpha/kernel/ptrace.c 2006-02-28 15:01:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/alpha/kernel/ptrace.c b/arch/alpha/kernel/ptrace.c
+index 0cd0605..edb3086 100644
+--- a/arch/alpha/kernel/ptrace.c
++++ b/arch/alpha/kernel/ptrace.c
@@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/security.h>
@@ -68,9 +71,10 @@
if (request == PTRACE_ATTACH) {
ret = ptrace_attach(child);
goto out;
-diff -NurpP --minimal linux-2.6.16-rc5/arch/alpha/kernel/systbls.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/kernel/systbls.S
---- linux-2.6.16-rc5/arch/alpha/kernel/systbls.S 2005-08-29 22:24:49 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/kernel/systbls.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S
+index 4342cea..1c5c9e3 100644
+--- a/arch/alpha/kernel/systbls.S
++++ b/arch/alpha/kernel/systbls.S
@@ -447,7 +447,7 @@ sys_call_table:
.quad sys_stat64 /* 425 */
.quad sys_lstat64
@@ -80,9 +84,10 @@
.quad sys_ni_syscall /* sys_mbind */
.quad sys_ni_syscall /* sys_get_mempolicy */
.quad sys_ni_syscall /* sys_set_mempolicy */
-diff -NurpP --minimal linux-2.6.16-rc5/arch/alpha/mm/init.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/mm/init.c
---- linux-2.6.16-rc5/arch/alpha/mm/init.c 2006-02-28 15:01:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/alpha/mm/init.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/alpha/mm/init.c b/arch/alpha/mm/init.c
+index 486d794..038f38e 100644
+--- a/arch/alpha/mm/init.c
++++ b/arch/alpha/mm/init.c
@@ -21,6 +21,7 @@
#include <linux/init.h>
#include <linux/bootmem.h> /* max_low_pfn */
@@ -91,9 +96,10 @@
#include <asm/system.h>
#include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/arm/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm/Kconfig
---- linux-2.6.16-rc5/arch/arm/Kconfig 2006-02-28 15:01:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index 9f80fa5..189262b 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
@@ -825,6 +825,8 @@ source "arch/arm/oprofile/Kconfig"
source "arch/arm/Kconfig.debug"
@@ -103,9 +109,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/arm/kernel/calls.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm/kernel/calls.S
---- linux-2.6.16-rc5/arch/arm/kernel/calls.S 2006-02-28 15:01:58 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm/kernel/calls.S 2006-02-18 15:22:48 +0100
+diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
+index 3173924..83c02a7 100644
+--- a/arch/arm/kernel/calls.S
++++ b/arch/arm/kernel/calls.S
@@ -322,7 +322,7 @@
/* 310 */ CALL(sys_request_key)
CALL(sys_keyctl)
@@ -115,9 +122,10 @@
CALL(sys_ioprio_set)
/* 315 */ CALL(sys_ioprio_get)
CALL(sys_inotify_init)
-diff -NurpP --minimal linux-2.6.16-rc5/arch/arm26/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm26/Kconfig
---- linux-2.6.16-rc5/arch/arm26/Kconfig 2006-02-28 15:02:01 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm26/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/arch/arm26/Kconfig b/arch/arm26/Kconfig
+index dee23d8..76d4054 100644
+--- a/arch/arm26/Kconfig
++++ b/arch/arm26/Kconfig
@@ -230,6 +230,8 @@ source "drivers/usb/Kconfig"
source "arch/arm26/Kconfig.debug"
@@ -127,9 +135,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/arm26/kernel/calls.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm26/kernel/calls.S
---- linux-2.6.16-rc5/arch/arm26/kernel/calls.S 2005-03-02 12:38:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm26/kernel/calls.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/arm26/kernel/calls.S b/arch/arm26/kernel/calls.S
+index e3d2768..3e8672a 100644
+--- a/arch/arm26/kernel/calls.S
++++ b/arch/arm26/kernel/calls.S
@@ -257,6 +257,11 @@ __syscall_start:
.long sys_lremovexattr
.long sys_fremovexattr
@@ -142,9 +151,10 @@
__syscall_end:
.rept NR_syscalls - (__syscall_end - __syscall_start) / 4
-diff -NurpP --minimal linux-2.6.16-rc5/arch/arm26/kernel/traps.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm26/kernel/traps.c
---- linux-2.6.16-rc5/arch/arm26/kernel/traps.c 2006-02-28 15:02:01 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/arm26/kernel/traps.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/arm26/kernel/traps.c b/arch/arm26/kernel/traps.c
+index 5847ea5..4110862 100644
+--- a/arch/arm26/kernel/traps.c
++++ b/arch/arm26/kernel/traps.c
@@ -186,8 +186,9 @@ NORET_TYPE void die(const char *str, str
printk("Internal error: %s: %x\n", str, err);
printk("CPU: %d\n", smp_processor_id());
@@ -157,9 +167,10 @@
if (!user_mode(regs) || in_interrupt()) {
__dump_stack(tsk, (unsigned long)(regs + 1));
-diff -NurpP --minimal linux-2.6.16-rc5/arch/cris/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/cris/Kconfig
---- linux-2.6.16-rc5/arch/cris/Kconfig 2006-02-28 15:02:01 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/cris/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
+index b832619..4afa431 100644
+--- a/arch/cris/Kconfig
++++ b/arch/cris/Kconfig
@@ -173,6 +173,8 @@ source "drivers/usb/Kconfig"
source "arch/cris/Kconfig.debug"
@@ -169,9 +180,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/frv/mm/mmu-context.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/frv/mm/mmu-context.c
---- linux-2.6.16-rc5/arch/frv/mm/mmu-context.c 2005-03-02 12:38:20 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/frv/mm/mmu-context.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/frv/mm/mmu-context.c b/arch/frv/mm/mmu-context.c
+index f2c6866..6983198 100644
+--- a/arch/frv/mm/mmu-context.c
++++ b/arch/frv/mm/mmu-context.c
@@ -11,6 +11,7 @@
#include <linux/sched.h>
@@ -180,9 +192,10 @@
#include <asm/tlbflush.h>
#define NR_CXN 4096
-diff -NurpP --minimal linux-2.6.16-rc5/arch/h8300/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/h8300/Kconfig
---- linux-2.6.16-rc5/arch/h8300/Kconfig 2006-02-28 15:02:01 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/h8300/Kconfig 2006-02-18 15:22:48 +0100
+diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
+index 98308b0..a6038b0 100644
+--- a/arch/h8300/Kconfig
++++ b/arch/h8300/Kconfig
@@ -191,6 +191,8 @@ source "fs/Kconfig"
source "arch/h8300/Kconfig.debug"
@@ -192,9 +205,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/i386/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/Kconfig
---- linux-2.6.16-rc5/arch/i386/Kconfig 2006-02-28 15:02:01 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/Kconfig 2006-02-28 15:21:26 +0100
+diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
+index 5b1a7d4..e37c177 100644
+--- a/arch/i386/Kconfig
++++ b/arch/i386/Kconfig
@@ -466,23 +466,43 @@ choice
will also likely make your kernel incompatible with binary-only
kernel modules.
@@ -256,9 +270,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/i386/boot/compressed/misc.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/boot/compressed/misc.c
---- linux-2.6.16-rc5/arch/i386/boot/compressed/misc.c 2006-02-28 15:02:01 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/boot/compressed/misc.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/i386/boot/compressed/misc.c b/arch/i386/boot/compressed/misc.c
+index f19f3a7..6f96229 100644
+--- a/arch/i386/boot/compressed/misc.c
++++ b/arch/i386/boot/compressed/misc.c
@@ -309,7 +309,7 @@ static void setup_normal_output_buffer(v
#else
if ((RM_ALT_MEM_K > RM_EXT_MEM_K ? RM_ALT_MEM_K : RM_EXT_MEM_K) < 1024) error("Less than 2MB of memory");
@@ -279,9 +294,10 @@
mv->hcount = 0; /* say: we need not to move high_buffer */
}
else mv->hcount = -1;
-diff -NurpP --minimal linux-2.6.16-rc5/arch/i386/kernel/setup.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/setup.c
---- linux-2.6.16-rc5/arch/i386/kernel/setup.c 2006-02-28 15:02:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/setup.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
+index ab62a9f..0fc23c0 100644
+--- a/arch/i386/kernel/setup.c
++++ b/arch/i386/kernel/setup.c
@@ -1192,8 +1192,8 @@ void __init setup_bootmem_allocator(void
* the (very unlikely) case of us accidentally initializing the
* bootmem allocator with an invalid RAM area.
@@ -293,9 +309,10 @@
/*
* reserve physical page 0 - it's a special BIOS page on many boxes,
-diff -NurpP --minimal linux-2.6.16-rc5/arch/i386/kernel/sys_i386.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/sys_i386.c
---- linux-2.6.16-rc5/arch/i386/kernel/sys_i386.c 2004-08-14 12:56:23 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/sys_i386.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/i386/kernel/sys_i386.c b/arch/i386/kernel/sys_i386.c
+index a4a6197..e68b2ba 100644
+--- a/arch/i386/kernel/sys_i386.c
++++ b/arch/i386/kernel/sys_i386.c
@@ -19,6 +19,7 @@
#include <linux/mman.h>
#include <linux/file.h>
@@ -343,9 +360,10 @@
error |= __put_user(0,name->machine+__OLD_UTS_LEN);
up_read(&uts_sem);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/i386/kernel/syscall_table.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/syscall_table.S
---- linux-2.6.16-rc5/arch/i386/kernel/syscall_table.S 2006-02-28 15:02:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/syscall_table.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/i386/kernel/syscall_table.S b/arch/i386/kernel/syscall_table.S
+index ac687d0..5c2afb2 100644
+--- a/arch/i386/kernel/syscall_table.S
++++ b/arch/i386/kernel/syscall_table.S
@@ -272,7 +272,7 @@ ENTRY(sys_call_table)
.long sys_tgkill /* 270 */
.long sys_utimes
@@ -355,9 +373,10 @@
.long sys_mbind
.long sys_get_mempolicy
.long sys_set_mempolicy
-diff -NurpP --minimal linux-2.6.16-rc5/arch/i386/kernel/traps.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/traps.c
---- linux-2.6.16-rc5/arch/i386/kernel/traps.c 2006-02-28 15:02:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/i386/kernel/traps.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
+index b814dbd..610d2f9 100644
+--- a/arch/i386/kernel/traps.c
++++ b/arch/i386/kernel/traps.c
@@ -53,6 +53,7 @@
#include <asm/kdebug.h>
@@ -398,9 +417,10 @@
} else
printk(KERN_EMERG "Recursive die() failure, output suppressed\n");
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/Kconfig
---- linux-2.6.16-rc5/arch/ia64/Kconfig 2006-02-28 15:02:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/Kconfig 2006-02-28 15:21:26 +0100
+diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
+index a85ea9d..0a36092 100644
+--- a/arch/ia64/Kconfig
++++ b/arch/ia64/Kconfig
@@ -464,6 +464,8 @@ endmenu
source "arch/ia64/Kconfig.debug"
@@ -410,9 +430,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/ia32/binfmt_elf32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/ia32/binfmt_elf32.c
---- linux-2.6.16-rc5/arch/ia64/ia32/binfmt_elf32.c 2006-01-03 17:29:09 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/ia32/binfmt_elf32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
+index 4e7a6a1..96b3e14 100644
+--- a/arch/ia64/ia32/binfmt_elf32.c
++++ b/arch/ia64/ia32/binfmt_elf32.c
@@ -236,7 +236,8 @@ ia32_setup_arg_pages (struct linux_binpr
kmem_cache_free(vm_area_cachep, mpnt);
return ret;
@@ -423,9 +444,10 @@
}
for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/ia32/ia32_entry.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/ia32/ia32_entry.S
---- linux-2.6.16-rc5/arch/ia64/ia32/ia32_entry.S 2006-02-28 15:02:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/ia32/ia32_entry.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S
+index 95fe044..f51b6c9 100644
+--- a/arch/ia64/ia32/ia32_entry.S
++++ b/arch/ia64/ia32/ia32_entry.S
@@ -483,7 +483,7 @@ ia32_syscall_table:
data8 sys_tgkill /* 270 */
data8 compat_sys_utimes
@@ -435,9 +457,10 @@
data8 sys_ni_syscall
data8 sys_ni_syscall /* 275 */
data8 sys_ni_syscall
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/kernel/entry.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/entry.S
---- linux-2.6.16-rc5/arch/ia64/kernel/entry.S 2006-02-28 15:02:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/entry.S 2006-02-18 15:22:49 +0100
+diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
+index 930fdfc..f1f3cc1 100644
+--- a/arch/ia64/kernel/entry.S
++++ b/arch/ia64/kernel/entry.S
@@ -1591,7 +1591,7 @@ sys_call_table:
data8 sys_mq_notify
data8 sys_mq_getsetattr
@@ -447,9 +470,10 @@
data8 sys_waitid // 1270
data8 sys_add_key
data8 sys_request_key
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/kernel/perfmon.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/perfmon.c
---- linux-2.6.16-rc5/arch/ia64/kernel/perfmon.c 2006-02-28 15:02:04 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/perfmon.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
+index 9c5194b..1c3017c 100644
+--- a/arch/ia64/kernel/perfmon.c
++++ b/arch/ia64/kernel/perfmon.c
@@ -41,6 +41,8 @@
#include <linux/capability.h>
#include <linux/rcupdate.h>
@@ -468,9 +492,10 @@
vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file,
vma_pages(vma));
up_write(&task->mm->mmap_sem);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/ia64/kernel/ptrace.c 2006-02-28 15:02:04 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c
+index eaed14a..7c8db71 100644
+--- a/arch/ia64/kernel/ptrace.c
++++ b/arch/ia64/kernel/ptrace.c
@@ -18,6 +18,7 @@
#include <linux/security.h>
#include <linux/audit.h>
@@ -489,9 +514,10 @@
ret = -EPERM;
if (pid == 1) /* no messing around with init! */
goto out_tsk;
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/kernel/signal.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/signal.c
---- linux-2.6.16-rc5/arch/ia64/kernel/signal.c 2006-02-28 15:02:04 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/kernel/signal.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c
+index 463f6bb..0b00de6 100644
+--- a/arch/ia64/kernel/signal.c
++++ b/arch/ia64/kernel/signal.c
@@ -21,6 +21,7 @@
#include <linux/binfmts.h>
#include <linux/unistd.h>
@@ -500,9 +526,10 @@
#include <asm/ia32.h>
#include <asm/intrinsics.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/mm/fault.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/mm/fault.c
---- linux-2.6.16-rc5/arch/ia64/mm/fault.c 2006-01-03 17:29:09 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/mm/fault.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c
+index af7eb08..ea0308f 100644
+--- a/arch/ia64/mm/fault.c
++++ b/arch/ia64/mm/fault.c
@@ -10,6 +10,7 @@
#include <linux/smp_lock.h>
#include <linux/interrupt.h>
@@ -511,9 +538,10 @@
#include <asm/pgtable.h>
#include <asm/processor.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ia64/sn/kernel/xpc_main.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/sn/kernel/xpc_main.c
---- linux-2.6.16-rc5/arch/ia64/sn/kernel/xpc_main.c 2006-02-28 15:02:05 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ia64/sn/kernel/xpc_main.c 2006-02-18 15:22:49 +0100
+diff --git a/arch/ia64/sn/kernel/xpc_main.c b/arch/ia64/sn/kernel/xpc_main.c
+index 8cbf164..9b6ca24 100644
+--- a/arch/ia64/sn/kernel/xpc_main.c
++++ b/arch/ia64/sn/kernel/xpc_main.c
@@ -109,6 +109,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] =
0644,
NULL,
@@ -538,9 +566,10 @@
&sysctl_intvec,
NULL,
&xpc_disengage_request_min_timelimit,
-diff -NurpP --minimal linux-2.6.16-rc5/arch/m32r/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/m32r/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/m32r/kernel/ptrace.c 2006-02-28 15:02:05 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/m32r/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/m32r/kernel/ptrace.c b/arch/m32r/kernel/ptrace.c
+index 340a3bf..aed14f3 100644
+--- a/arch/m32r/kernel/ptrace.c
++++ b/arch/m32r/kernel/ptrace.c
@@ -25,6 +25,7 @@
#include <linux/user.h>
#include <linux/string.h>
@@ -549,9 +578,10 @@
#include <asm/cacheflush.h>
#include <asm/io.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/m68k/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/m68k/Kconfig
---- linux-2.6.16-rc5/arch/m68k/Kconfig 2006-02-28 15:02:05 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/m68k/Kconfig 2006-02-18 15:22:49 +0100
+diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
+index 8849439..c83a593 100644
+--- a/arch/m68k/Kconfig
++++ b/arch/m68k/Kconfig
@@ -650,6 +650,8 @@ source "fs/Kconfig"
source "arch/m68k/Kconfig.debug"
@@ -561,9 +591,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/m68k/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/m68k/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/m68k/kernel/ptrace.c 2006-01-03 17:29:10 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/m68k/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/m68k/kernel/ptrace.c b/arch/m68k/kernel/ptrace.c
+index 540638c..deddf39 100644
+--- a/arch/m68k/kernel/ptrace.c
++++ b/arch/m68k/kernel/ptrace.c
@@ -280,6 +280,8 @@ long arch_ptrace(struct task_struct *chi
ret = ptrace_request(child, request, addr, data);
break;
@@ -573,9 +604,10 @@
return ret;
out_eio:
-diff -NurpP --minimal linux-2.6.16-rc5/arch/m68knommu/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/m68knommu/Kconfig
---- linux-2.6.16-rc5/arch/m68knommu/Kconfig 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/m68knommu/Kconfig 2006-02-18 15:22:49 +0100
+diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
+index e50858d..1ae18d8 100644
+--- a/arch/m68knommu/Kconfig
++++ b/arch/m68knommu/Kconfig
@@ -646,6 +646,8 @@ source "fs/Kconfig"
source "arch/m68knommu/Kconfig.debug"
@@ -585,10 +617,11 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/Kconfig
---- linux-2.6.16-rc5/arch/mips/Kconfig 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/Kconfig 2006-02-17 22:18:50 +0100
-@@ -1810,6 +1810,8 @@ source "arch/mips/oprofile/Kconfig"
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 3a0f89d..8158f36 100644
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -1814,6 +1814,8 @@ source "arch/mips/oprofile/Kconfig"
source "arch/mips/Kconfig.debug"
@@ -597,9 +630,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/linux32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/linux32.c
---- linux-2.6.16-rc5/arch/mips/kernel/linux32.c 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/linux32.c 2006-02-28 15:21:26 +0100
+diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
+index e00e5f6..b98d134 100644
+--- a/arch/mips/kernel/linux32.c
++++ b/arch/mips/kernel/linux32.c
@@ -37,6 +37,7 @@
#include <linux/security.h>
#include <linux/compat.h>
@@ -608,7 +642,7 @@
#include <net/sock.h>
#include <net/scm.h>
-@@ -1153,7 +1154,7 @@ asmlinkage long sys32_newuname(struct ne
+@@ -1099,7 +1100,7 @@ asmlinkage long sys32_newuname(struct ne
int ret = 0;
down_read(&uts_sem);
@@ -617,9 +651,10 @@
ret = -EFAULT;
up_read(&uts_sem);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/mips/kernel/ptrace.c 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c
+index f838b36..0d533ef 100644
+--- a/arch/mips/kernel/ptrace.c
++++ b/arch/mips/kernel/ptrace.c
@@ -476,6 +476,8 @@ asmlinkage void do_syscall_trace(struct
goto out;
if (!test_thread_flag(TIF_SYSCALL_TRACE))
@@ -629,9 +664,10 @@
/* The 0x80 provides a way for the tracing parent to distinguish
between a syscall stop and SIGTRAP delivery */
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/ptrace32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/ptrace32.c
---- linux-2.6.16-rc5/arch/mips/kernel/ptrace32.c 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/ptrace32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/mips/kernel/ptrace32.c b/arch/mips/kernel/ptrace32.c
+index 0d5cf97..b375e8d 100644
+--- a/arch/mips/kernel/ptrace32.c
++++ b/arch/mips/kernel/ptrace32.c
@@ -24,6 +24,7 @@
#include <linux/smp_lock.h>
#include <linux/user.h>
@@ -640,9 +676,10 @@
#include <asm/cpu.h>
#include <asm/dsp.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/scall32-o32.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall32-o32.S
---- linux-2.6.16-rc5/arch/mips/kernel/scall32-o32.S 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall32-o32.S 2006-02-28 15:21:26 +0100
+diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
+index 2f2dc54..200b74d 100644
+--- a/arch/mips/kernel/scall32-o32.S
++++ b/arch/mips/kernel/scall32-o32.S
@@ -607,7 +607,7 @@ einval: li v0, -EINVAL
sys sys_mq_timedreceive 5
sys sys_mq_notify 2 /* 4275 */
@@ -652,9 +689,10 @@
sys sys_waitid 5
sys sys_ni_syscall 0 /* available, was setaltroot */
sys sys_add_key 5 /* 4280 */
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/scall64-64.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall64-64.S
---- linux-2.6.16-rc5/arch/mips/kernel/scall64-64.S 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall64-64.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
+index 98bf25d..da9bb04 100644
+--- a/arch/mips/kernel/scall64-64.S
++++ b/arch/mips/kernel/scall64-64.S
@@ -433,7 +433,7 @@ sys_call_table:
PTR sys_mq_timedreceive
PTR sys_mq_notify
@@ -664,9 +702,10 @@
PTR sys_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/scall64-n32.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall64-n32.S
---- linux-2.6.16-rc5/arch/mips/kernel/scall64-n32.S 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall64-n32.S 2006-02-28 15:21:26 +0100
+diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
+index 02c8267..bd8b965 100644
+--- a/arch/mips/kernel/scall64-n32.S
++++ b/arch/mips/kernel/scall64-n32.S
@@ -359,7 +359,7 @@ EXPORT(sysn32_call_table)
PTR compat_sys_mq_timedreceive
PTR compat_sys_mq_notify
@@ -676,9 +715,10 @@
PTR sysn32_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/scall64-o32.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall64-o32.S
---- linux-2.6.16-rc5/arch/mips/kernel/scall64-o32.S 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/scall64-o32.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
+index 797e0d8..3bc13a4 100644
+--- a/arch/mips/kernel/scall64-o32.S
++++ b/arch/mips/kernel/scall64-o32.S
@@ -481,7 +481,7 @@ sys_call_table:
PTR compat_sys_mq_timedreceive
PTR compat_sys_mq_notify /* 4275 */
@@ -688,9 +728,10 @@
PTR sys32_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key /* 4280 */
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/syscall.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/syscall.c
---- linux-2.6.16-rc5/arch/mips/kernel/syscall.c 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/syscall.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
+index 1da2eeb..3838796 100644
+--- a/arch/mips/kernel/syscall.c
++++ b/arch/mips/kernel/syscall.c
@@ -29,6 +29,7 @@
#include <linux/shm.h>
#include <linux/compiler.h>
@@ -751,9 +792,10 @@
up_write(&uts_sem);
return 0;
}
-diff -NurpP --minimal linux-2.6.16-rc5/arch/mips/kernel/sysirix.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/sysirix.c
---- linux-2.6.16-rc5/arch/mips/kernel/sysirix.c 2006-02-28 15:02:06 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/mips/kernel/sysirix.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/mips/kernel/sysirix.c b/arch/mips/kernel/sysirix.c
+index 0fc3730..338a7a1 100644
+--- a/arch/mips/kernel/sysirix.c
++++ b/arch/mips/kernel/sysirix.c
@@ -31,6 +31,7 @@
#include <linux/socket.h>
#include <linux/security.h>
@@ -762,9 +804,10 @@
#include <asm/ptrace.h>
#include <asm/page.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/parisc/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/parisc/Kconfig
---- linux-2.6.16-rc5/arch/parisc/Kconfig 2006-02-28 15:02:10 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/parisc/Kconfig 2006-02-18 15:22:49 +0100
+diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
+index eca33cf..5284537 100644
+--- a/arch/parisc/Kconfig
++++ b/arch/parisc/Kconfig
@@ -213,6 +213,8 @@ source "arch/parisc/oprofile/Kconfig"
source "arch/parisc/Kconfig.debug"
@@ -774,9 +817,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/parisc/kernel/sys_parisc32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/parisc/kernel/sys_parisc32.c
---- linux-2.6.16-rc5/arch/parisc/kernel/sys_parisc32.c 2005-06-22 02:37:56 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/parisc/kernel/sys_parisc32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/parisc/kernel/sys_parisc32.c b/arch/parisc/kernel/sys_parisc32.c
+index 6135690..12d9384 100644
+--- a/arch/parisc/kernel/sys_parisc32.c
++++ b/arch/parisc/kernel/sys_parisc32.c
@@ -657,6 +657,7 @@ asmlinkage int sys32_sysinfo(struct sysi
do {
@@ -785,9 +829,10 @@
val.uptime = jiffies / HZ;
val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/parisc/kernel/syscall_table.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/parisc/kernel/syscall_table.S
---- linux-2.6.16-rc5/arch/parisc/kernel/syscall_table.S 2006-02-28 15:02:10 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/parisc/kernel/syscall_table.S 2006-02-18 15:22:49 +0100
+diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S
+index 71011ea..4e2d76e 100644
+--- a/arch/parisc/kernel/syscall_table.S
++++ b/arch/parisc/kernel/syscall_table.S
@@ -368,7 +368,7 @@
ENTRY_COMP(mbind) /* 260 */
ENTRY_COMP(get_mempolicy)
@@ -797,9 +842,10 @@
ENTRY_SAME(add_key)
ENTRY_SAME(request_key) /* 265 */
ENTRY_SAME(keyctl)
-diff -NurpP --minimal linux-2.6.16-rc5/arch/powerpc/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/Kconfig
---- linux-2.6.16-rc5/arch/powerpc/Kconfig 2006-02-28 15:02:10 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/Kconfig 2006-02-28 15:21:26 +0100
+diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
+index a834f9e..502a4bc 100644
+--- a/arch/powerpc/Kconfig
++++ b/arch/powerpc/Kconfig
@@ -974,6 +974,8 @@ endmenu
source "arch/powerpc/Kconfig.debug"
@@ -809,9 +855,10 @@
source "security/Kconfig"
config KEYS_COMPAT
-diff -NurpP --minimal linux-2.6.16-rc5/arch/powerpc/kernel/process.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/process.c
---- linux-2.6.16-rc5/arch/powerpc/kernel/process.c 2006-02-28 15:02:11 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/process.c 2006-02-28 15:21:26 +0100
+diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
+index c225cf1..edec59b 100644
+--- a/arch/powerpc/kernel/process.c
++++ b/arch/powerpc/kernel/process.c
@@ -425,8 +425,9 @@ void show_regs(struct pt_regs * regs)
trap = TRAP(regs);
if (trap == 0x300 || trap == 0x600)
@@ -824,9 +871,10 @@
#ifdef CONFIG_SMP
printk(" CPU: %d", smp_processor_id());
-diff -NurpP --minimal linux-2.6.16-rc5/arch/powerpc/kernel/ptrace32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/ptrace32.c
---- linux-2.6.16-rc5/arch/powerpc/kernel/ptrace32.c 2006-02-28 15:02:11 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/ptrace32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/powerpc/kernel/ptrace32.c b/arch/powerpc/kernel/ptrace32.c
+index 826ee3d..94e0076 100644
+--- a/arch/powerpc/kernel/ptrace32.c
++++ b/arch/powerpc/kernel/ptrace32.c
@@ -28,6 +28,7 @@
#include <linux/user.h>
#include <linux/security.h>
@@ -835,9 +883,10 @@
#include <asm/uaccess.h>
#include <asm/page.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/powerpc/kernel/syscalls.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/syscalls.c
---- linux-2.6.16-rc5/arch/powerpc/kernel/syscalls.c 2006-02-28 15:02:11 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/syscalls.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c
+index ad895c9..7db2919 100644
+--- a/arch/powerpc/kernel/syscalls.c
++++ b/arch/powerpc/kernel/syscalls.c
@@ -36,6 +36,7 @@
#include <linux/file.h>
#include <linux/init.h>
@@ -897,9 +946,10 @@
error |= override_machine(name->machine);
up_read(&uts_sem);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/powerpc/kernel/systbl.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/systbl.S
---- linux-2.6.16-rc5/arch/powerpc/kernel/systbl.S 2006-02-28 15:02:11 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/systbl.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S
+index 1ad55f0..0bf1062 100644
+--- a/arch/powerpc/kernel/systbl.S
++++ b/arch/powerpc/kernel/systbl.S
@@ -296,7 +296,7 @@ COMPAT_SYS(fstatfs64)
SYSX(sys_ni_syscall, ppc_fadvise64_64, ppc_fadvise64_64)
PPC_SYS(rtas)
@@ -909,9 +959,10 @@
SYSCALL(ni_syscall)
COMPAT_SYS(mbind)
COMPAT_SYS(get_mempolicy)
-diff -NurpP --minimal linux-2.6.16-rc5/arch/powerpc/kernel/vdso.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/vdso.c
---- linux-2.6.16-rc5/arch/powerpc/kernel/vdso.c 2006-01-03 17:29:13 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/powerpc/kernel/vdso.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
+index 04f7df3..41ec594 100644
+--- a/arch/powerpc/kernel/vdso.c
++++ b/arch/powerpc/kernel/vdso.c
@@ -25,6 +25,7 @@
#include <linux/elf.h>
#include <linux/security.h>
@@ -929,9 +980,10 @@
up_write(&mm->mmap_sem);
return 0;
-diff -NurpP --minimal linux-2.6.16-rc5/arch/ppc/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/ppc/Kconfig
---- linux-2.6.16-rc5/arch/ppc/Kconfig 2006-02-28 15:02:11 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/ppc/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
+index 11899f0..a598ec3 100644
+--- a/arch/ppc/Kconfig
++++ b/arch/ppc/Kconfig
@@ -1394,6 +1394,8 @@ source "arch/powerpc/oprofile/Kconfig"
source "arch/ppc/Kconfig.debug"
@@ -941,9 +993,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/s390/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/Kconfig
---- linux-2.6.16-rc5/arch/s390/Kconfig 2006-02-28 15:02:16 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/Kconfig 2006-02-18 15:22:49 +0100
+diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
+index b7ca5bf..13dbfd3 100644
+--- a/arch/s390/Kconfig
++++ b/arch/s390/Kconfig
@@ -472,6 +472,8 @@ source "arch/s390/oprofile/Kconfig"
source "arch/s390/Kconfig.debug"
@@ -953,9 +1006,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/s390/kernel/process.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/kernel/process.c
---- linux-2.6.16-rc5/arch/s390/kernel/process.c 2006-02-28 15:02:17 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/kernel/process.c 2006-02-18 15:22:49 +0100
+diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
+index da6fbae..476e064 100644
+--- a/arch/s390/kernel/process.c
++++ b/arch/s390/kernel/process.c
@@ -164,9 +164,9 @@ void show_regs(struct pt_regs *regs)
struct task_struct *tsk = current;
@@ -969,9 +1023,10 @@
show_registers(regs);
/* Show stack backtrace if pt_regs is from kernel mode */
-diff -NurpP --minimal linux-2.6.16-rc5/arch/s390/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/s390/kernel/ptrace.c 2006-02-28 15:02:17 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
+index 37dfe33..335754b 100644
+--- a/arch/s390/kernel/ptrace.c
++++ b/arch/s390/kernel/ptrace.c
@@ -33,6 +33,7 @@
#include <linux/security.h>
#include <linux/audit.h>
@@ -994,9 +1049,10 @@
put_task_struct(child);
out:
unlock_kernel();
-diff -NurpP --minimal linux-2.6.16-rc5/arch/s390/kernel/syscalls.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/kernel/syscalls.S
---- linux-2.6.16-rc5/arch/s390/kernel/syscalls.S 2006-02-28 15:02:17 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/s390/kernel/syscalls.S 2006-02-18 15:22:49 +0100
+diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
+index 7c88d85..4280067 100644
+--- a/arch/s390/kernel/syscalls.S
++++ b/arch/s390/kernel/syscalls.S
@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */
SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
@@ -1006,9 +1062,10 @@
SYSCALL(s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sh/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/sh/Kconfig
---- linux-2.6.16-rc5/arch/sh/Kconfig 2006-02-28 15:02:17 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sh/Kconfig 2006-02-18 15:22:49 +0100
+diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
+index e9b275d..68b398e 100644
+--- a/arch/sh/Kconfig
++++ b/arch/sh/Kconfig
@@ -633,6 +633,8 @@ source "arch/sh/oprofile/Kconfig"
source "arch/sh/Kconfig.debug"
@@ -1018,9 +1075,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sh/kernel/kgdb_stub.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/sh/kernel/kgdb_stub.c
---- linux-2.6.16-rc5/arch/sh/kernel/kgdb_stub.c 2004-08-14 12:54:51 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sh/kernel/kgdb_stub.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/sh/kernel/kgdb_stub.c b/arch/sh/kernel/kgdb_stub.c
+index 42638b9..6c0370f 100644
+--- a/arch/sh/kernel/kgdb_stub.c
++++ b/arch/sh/kernel/kgdb_stub.c
@@ -412,7 +412,7 @@ static struct task_struct *get_thread(in
if (pid == PID_MAX) pid = 0;
@@ -1030,9 +1088,10 @@
if (thread)
return thread;
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/Kconfig
---- linux-2.6.16-rc5/arch/sparc/Kconfig 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
+index f944b58..60aa2b7 100644
+--- a/arch/sparc/Kconfig
++++ b/arch/sparc/Kconfig
@@ -284,6 +284,8 @@ source "fs/Kconfig"
source "arch/sparc/Kconfig.debug"
@@ -1042,9 +1101,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/sparc/kernel/ptrace.c 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/sparc/kernel/ptrace.c b/arch/sparc/kernel/ptrace.c
+index 1baf13e..d4dc454 100644
+--- a/arch/sparc/kernel/ptrace.c
++++ b/arch/sparc/kernel/ptrace.c
@@ -19,6 +19,7 @@
#include <linux/smp_lock.h>
#include <linux/security.h>
@@ -1064,9 +1124,10 @@
if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
|| (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc/kernel/sys_sparc.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/kernel/sys_sparc.c
---- linux-2.6.16-rc5/arch/sparc/kernel/sys_sparc.c 2005-06-22 02:37:59 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/kernel/sys_sparc.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/sparc/kernel/sys_sparc.c b/arch/sparc/kernel/sys_sparc.c
+index 0cdfc9d..8fa541c 100644
+--- a/arch/sparc/kernel/sys_sparc.c
++++ b/arch/sparc/kernel/sys_sparc.c
@@ -21,6 +21,7 @@
#include <linux/utsname.h>
#include <linux/smp.h>
@@ -1091,9 +1152,10 @@
goto done;
err = 0;
done:
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc/kernel/systbls.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/kernel/systbls.S
---- linux-2.6.16-rc5/arch/sparc/kernel/systbls.S 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc/kernel/systbls.S 2006-02-18 15:22:49 +0100
+diff --git a/arch/sparc/kernel/systbls.S b/arch/sparc/kernel/systbls.S
+index 768de64..fab6bfd 100644
+--- a/arch/sparc/kernel/systbls.S
++++ b/arch/sparc/kernel/systbls.S
@@ -72,7 +72,7 @@ sys_call_table:
/*250*/ .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
/*255*/ .long sys_nis_syscall, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
@@ -1103,9 +1165,10 @@
/*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
/*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
/*280*/ .long sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc64/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/Kconfig
---- linux-2.6.16-rc5/arch/sparc64/Kconfig 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/Kconfig 2006-02-28 15:21:26 +0100
+diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
+index 4c0a50a..eb58ca4 100644
+--- a/arch/sparc64/Kconfig
++++ b/arch/sparc64/Kconfig
@@ -394,6 +394,8 @@ endmenu
source "arch/sparc64/Kconfig.debug"
@@ -1115,9 +1178,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc64/kernel/binfmt_aout32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/binfmt_aout32.c
---- linux-2.6.16-rc5/arch/sparc64/kernel/binfmt_aout32.c 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/binfmt_aout32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/sparc64/kernel/binfmt_aout32.c b/arch/sparc64/kernel/binfmt_aout32.c
+index 202a80c..0a6331c 100644
+--- a/arch/sparc64/kernel/binfmt_aout32.c
++++ b/arch/sparc64/kernel/binfmt_aout32.c
@@ -27,6 +27,7 @@
#include <linux/binfmts.h>
#include <linux/personality.h>
@@ -1126,9 +1190,10 @@
#include <asm/system.h>
#include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc64/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/sparc64/kernel/ptrace.c 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c
+index 3f9746f..5a1eb33 100644
+--- a/arch/sparc64/kernel/ptrace.c
++++ b/arch/sparc64/kernel/ptrace.c
@@ -22,6 +22,7 @@
#include <linux/seccomp.h>
#include <linux/audit.h>
@@ -1148,9 +1213,10 @@
if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
|| (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc64/kernel/sys_sparc.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/sys_sparc.c
---- linux-2.6.16-rc5/arch/sparc64/kernel/sys_sparc.c 2005-08-29 22:24:56 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/sys_sparc.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c
+index 5f8c822..781027a 100644
+--- a/arch/sparc64/kernel/sys_sparc.c
++++ b/arch/sparc64/kernel/sys_sparc.c
@@ -25,6 +25,7 @@
#include <linux/syscalls.h>
#include <linux/ipc.h>
@@ -1175,9 +1241,10 @@
goto done;
err = 0;
done:
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc64/kernel/systbls.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/systbls.S
---- linux-2.6.16-rc5/arch/sparc64/kernel/systbls.S 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/kernel/systbls.S 2006-02-18 15:22:49 +0100
+diff --git a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S
+index c3adb7a..294e1a2 100644
+--- a/arch/sparc64/kernel/systbls.S
++++ b/arch/sparc64/kernel/systbls.S
@@ -73,7 +73,7 @@ sys_call_table32:
/*250*/ .word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
.word sys_ni_syscall, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
@@ -1196,9 +1263,10 @@
/*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
.word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
/*280*/ .word sys_nis_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat
-diff -NurpP --minimal linux-2.6.16-rc5/arch/sparc64/solaris/fs.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/solaris/fs.c
---- linux-2.6.16-rc5/arch/sparc64/solaris/fs.c 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/sparc64/solaris/fs.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/sparc64/solaris/fs.c b/arch/sparc64/solaris/fs.c
+index 4885ca6..612477d 100644
+--- a/arch/sparc64/solaris/fs.c
++++ b/arch/sparc64/solaris/fs.c
@@ -363,7 +363,7 @@ static int report_statvfs(struct vfsmoun
int j = strlen (p);
@@ -1217,9 +1285,10 @@
if (mnt->mnt_flags & MNT_NOSUID) i |= 2;
if (!sysv_valid_dev(inode->i_sb->s_dev))
return -EOVERFLOW;
-diff -NurpP --minimal linux-2.6.16-rc5/arch/um/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/Kconfig
---- linux-2.6.16-rc5/arch/um/Kconfig 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/arch/um/Kconfig b/arch/um/Kconfig
+index 5982fe2..bdf4519 100644
+--- a/arch/um/Kconfig
++++ b/arch/um/Kconfig
@@ -290,6 +290,8 @@ source "drivers/connector/Kconfig"
source "fs/Kconfig"
@@ -1229,9 +1298,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/um/drivers/mconsole_kern.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/drivers/mconsole_kern.c
---- linux-2.6.16-rc5/arch/um/drivers/mconsole_kern.c 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/drivers/mconsole_kern.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
+index 54388d1..6e85bbf 100644
+--- a/arch/um/drivers/mconsole_kern.c
++++ b/arch/um/drivers/mconsole_kern.c
@@ -21,6 +21,7 @@
#include "linux/proc_fs.h"
#include "linux/syscalls.h"
@@ -1240,9 +1310,10 @@
#include "asm/irq.h"
#include "asm/uaccess.h"
#include "user_util.h"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/um/kernel/process_kern.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/kernel/process_kern.c
---- linux-2.6.16-rc5/arch/um/kernel/process_kern.c 2006-02-28 15:02:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/kernel/process_kern.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/um/kernel/process_kern.c b/arch/um/kernel/process_kern.c
+index 3113cab..ea4a9e3 100644
+--- a/arch/um/kernel/process_kern.c
++++ b/arch/um/kernel/process_kern.c
@@ -23,6 +23,8 @@
#include "linux/proc_fs.h"
#include "linux/ptrace.h"
@@ -1252,9 +1323,10 @@
#include "asm/unistd.h"
#include "asm/mman.h"
#include "asm/segment.h"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/um/kernel/syscall_kern.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/kernel/syscall_kern.c
---- linux-2.6.16-rc5/arch/um/kernel/syscall_kern.c 2005-08-29 22:24:56 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/um/kernel/syscall_kern.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/um/kernel/syscall_kern.c b/arch/um/kernel/syscall_kern.c
+index 8e1a350..d144baa 100644
+--- a/arch/um/kernel/syscall_kern.c
++++ b/arch/um/kernel/syscall_kern.c
@@ -15,6 +15,8 @@
#include "linux/unistd.h"
#include "linux/slab.h"
@@ -1307,9 +1379,10 @@
__OLD_UTS_LEN);
error |= __put_user(0,name->machine+__OLD_UTS_LEN);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/v850/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/v850/Kconfig
---- linux-2.6.16-rc5/arch/v850/Kconfig 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/v850/Kconfig 2006-02-18 15:22:49 +0100
+diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig
+index e7fc3e5..10f31fa 100644
+--- a/arch/v850/Kconfig
++++ b/arch/v850/Kconfig
@@ -320,6 +320,8 @@ source "drivers/usb/Kconfig"
source "arch/v850/Kconfig.debug"
@@ -1319,9 +1392,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/v850/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/v850/kernel/ptrace.c
---- linux-2.6.16-rc5/arch/v850/kernel/ptrace.c 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/v850/kernel/ptrace.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/v850/kernel/ptrace.c b/arch/v850/kernel/ptrace.c
+index 67e0575..061bd4d 100644
+--- a/arch/v850/kernel/ptrace.c
++++ b/arch/v850/kernel/ptrace.c
@@ -137,6 +137,8 @@ long arch_ptrace(struct task_struct *chi
break;
rval = -EIO;
@@ -1331,9 +1405,10 @@
/* Read/write the word at location ADDR in the registers. */
case PTRACE_PEEKUSR:
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/Kconfig
---- linux-2.6.16-rc5/arch/x86_64/Kconfig 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/Kconfig 2006-02-28 15:21:26 +0100
+diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig
+index e18eb79..196fae7 100644
+--- a/arch/x86_64/Kconfig
++++ b/arch/x86_64/Kconfig
@@ -588,6 +588,8 @@ endmenu
source "arch/x86_64/Kconfig.debug"
@@ -1343,9 +1418,10 @@
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/ia32/ia32_aout.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ia32_aout.c
---- linux-2.6.16-rc5/arch/x86_64/ia32/ia32_aout.c 2006-01-03 17:29:20 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ia32_aout.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/ia32/ia32_aout.c b/arch/x86_64/ia32/ia32_aout.c
+index 3bf58af..7aac2ca 100644
+--- a/arch/x86_64/ia32/ia32_aout.c
++++ b/arch/x86_64/ia32/ia32_aout.c
@@ -25,6 +25,7 @@
#include <linux/binfmts.h>
#include <linux/personality.h>
@@ -1354,9 +1430,10 @@
#include <asm/system.h>
#include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/ia32/ia32_binfmt.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ia32_binfmt.c
---- linux-2.6.16-rc5/arch/x86_64/ia32/ia32_binfmt.c 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ia32_binfmt.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/ia32/ia32_binfmt.c b/arch/x86_64/ia32/ia32_binfmt.c
+index 572b3b2..4cccf13 100644
+--- a/arch/x86_64/ia32/ia32_binfmt.c
++++ b/arch/x86_64/ia32/ia32_binfmt.c
@@ -371,7 +371,8 @@ int ia32_setup_arg_pages(struct linux_bi
kmem_cache_free(vm_area_cachep, mpnt);
return ret;
@@ -1367,9 +1444,10 @@
}
for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/ia32/ia32entry.S linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ia32entry.S
---- linux-2.6.16-rc5/arch/x86_64/ia32/ia32entry.S 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ia32entry.S 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S
+index 00dee17..f331a49 100644
+--- a/arch/x86_64/ia32/ia32entry.S
++++ b/arch/x86_64/ia32/ia32entry.S
@@ -650,7 +650,7 @@ ia32_sys_call_table:
.quad sys_tgkill /* 270 */
.quad compat_sys_utimes
@@ -1379,9 +1457,10 @@
.quad sys_mbind
.quad compat_sys_get_mempolicy /* 275 */
.quad sys_set_mempolicy
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/ia32/ptrace32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ptrace32.c
---- linux-2.6.16-rc5/arch/x86_64/ia32/ptrace32.c 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/ptrace32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/ia32/ptrace32.c b/arch/x86_64/ia32/ptrace32.c
+index 23a4515..8945338 100644
+--- a/arch/x86_64/ia32/ptrace32.c
++++ b/arch/x86_64/ia32/ptrace32.c
@@ -18,6 +18,7 @@
#include <linux/unistd.h>
#include <linux/mm.h>
@@ -1390,9 +1469,10 @@
#include <asm/ptrace.h>
#include <asm/compat.h>
#include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/ia32/sys_ia32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/sys_ia32.c
---- linux-2.6.16-rc5/arch/x86_64/ia32/sys_ia32.c 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/sys_ia32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/ia32/sys_ia32.c b/arch/x86_64/ia32/sys_ia32.c
+index 2bc55af..f3d4615 100644
+--- a/arch/x86_64/ia32/sys_ia32.c
++++ b/arch/x86_64/ia32/sys_ia32.c
@@ -62,6 +62,7 @@
#include <linux/highuid.h>
#include <linux/vmalloc.h>
@@ -1437,9 +1517,10 @@
up_read(&uts_sem);
if (personality(current->personality) == PER_LINUX32)
err |= copy_to_user(&name->machine, "i686", 5);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/ia32/syscall32.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/syscall32.c
---- linux-2.6.16-rc5/arch/x86_64/ia32/syscall32.c 2005-10-28 20:49:18 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/ia32/syscall32.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/ia32/syscall32.c b/arch/x86_64/ia32/syscall32.c
+index 3a01329..cba1692 100644
+--- a/arch/x86_64/ia32/syscall32.c
++++ b/arch/x86_64/ia32/syscall32.c
@@ -10,6 +10,7 @@
#include <linux/init.h>
#include <linux/stringify.h>
@@ -1457,9 +1538,10 @@
up_write(&mm->mmap_sem);
return 0;
}
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/kernel/sys_x86_64.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/kernel/sys_x86_64.c
---- linux-2.6.16-rc5/arch/x86_64/kernel/sys_x86_64.c 2006-01-03 17:29:20 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/kernel/sys_x86_64.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/kernel/sys_x86_64.c b/arch/x86_64/kernel/sys_x86_64.c
+index 6449ea8..142fbf7 100644
+--- a/arch/x86_64/kernel/sys_x86_64.c
++++ b/arch/x86_64/kernel/sys_x86_64.c
@@ -16,6 +16,7 @@
#include <linux/file.h>
#include <linux/utsname.h>
@@ -1477,9 +1559,10 @@
up_read(&uts_sem);
if (personality(current->personality) == PER_LINUX32)
err |= copy_to_user(&name->machine, "i686", 5);
-diff -NurpP --minimal linux-2.6.16-rc5/arch/x86_64/kernel/traps.c linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/kernel/traps.c
---- linux-2.6.16-rc5/arch/x86_64/kernel/traps.c 2006-02-28 15:02:19 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/arch/x86_64/kernel/traps.c 2006-02-17 22:18:50 +0100
+diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
+index 28d50dc..906be26 100644
+--- a/arch/x86_64/kernel/traps.c
++++ b/arch/x86_64/kernel/traps.c
@@ -321,8 +321,9 @@ void show_registers(struct pt_regs *regs
printk("CPU %d ", cpu);
@@ -1492,9 +1575,10 @@
/*
* When in-kernel, we also print out the stack and code at the
-diff -NurpP --minimal linux-2.6.16-rc5/drivers/block/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/drivers/block/Kconfig
---- linux-2.6.16-rc5/drivers/block/Kconfig 2006-02-28 15:02:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/drivers/block/Kconfig 2006-02-17 22:18:50 +0100
+diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
+index 8b13316..3e1f17f 100644
+--- a/drivers/block/Kconfig
++++ b/drivers/block/Kconfig
@@ -315,6 +315,13 @@ config BLK_DEV_CRYPTOLOOP
instead, which can be configured to be on-disk compatible with the
cryptoloop device.
@@ -1509,18 +1593,21 @@
config BLK_DEV_NBD
tristate "Network block device support"
depends on NET
-diff -NurpP --minimal linux-2.6.16-rc5/drivers/block/Makefile linux-2.6.16-rc5-vs2.0.2-rc10/drivers/block/Makefile
---- linux-2.6.16-rc5/drivers/block/Makefile 2006-01-03 17:29:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/drivers/block/Makefile 2006-02-17 22:18:50 +0100
+diff --git a/drivers/block/Makefile b/drivers/block/Makefile
+index 3ec1f8d..00f2e4e 100644
+--- a/drivers/block/Makefile
++++ b/drivers/block/Makefile
@@ -30,4 +30,5 @@ obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryp
obj-$(CONFIG_VIODASD) += viodasd.o
obj-$(CONFIG_BLK_DEV_SX8) += sx8.o
obj-$(CONFIG_BLK_DEV_UB) += ub.o
+obj-$(CONFIG_BLK_DEV_VROOT) += vroot.o
-diff -NurpP --minimal linux-2.6.16-rc5/drivers/block/vroot.c linux-2.6.16-rc5-vs2.0.2-rc10/drivers/block/vroot.c
---- linux-2.6.16-rc5/drivers/block/vroot.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/drivers/block/vroot.c 2006-02-17 22:18:50 +0100
+diff --git a/drivers/block/vroot.c b/drivers/block/vroot.c
+new file mode 100644
+index 0000000..ac4441c
+--- /dev/null
++++ b/drivers/block/vroot.c
@@ -0,0 +1,289 @@
+/*
+ * linux/drivers/block/vroot.c
@@ -1811,9 +1898,10 @@
+
+#endif
+
-diff -NurpP --minimal linux-2.6.16-rc5/drivers/char/random.c linux-2.6.16-rc5-vs2.0.2-rc10/drivers/char/random.c
---- linux-2.6.16-rc5/drivers/char/random.c 2006-02-28 15:02:29 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/drivers/char/random.c 2006-02-17 22:18:50 +0100
+diff --git a/drivers/char/random.c b/drivers/char/random.c
+index 86be04b..05c343f 100644
+--- a/drivers/char/random.c
++++ b/drivers/char/random.c
@@ -1174,7 +1174,7 @@ static char sysctl_bootid[16];
static int proc_do_uuid(ctl_table *table, int write, struct file *filp,
void __user *buffer, size_t *lenp, loff_t *ppos)
@@ -1823,9 +1911,10 @@
unsigned char buf[64], tmp_uuid[16], *uuid;
uuid = table->data;
-diff -NurpP --minimal linux-2.6.16-rc5/drivers/char/tty_io.c linux-2.6.16-rc5-vs2.0.2-rc10/drivers/char/tty_io.c
---- linux-2.6.16-rc5/drivers/char/tty_io.c 2006-02-28 15:02:32 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/drivers/char/tty_io.c 2006-02-18 15:22:49 +0100
+diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
+index 53d3d06..7f47d83 100644
+--- a/drivers/char/tty_io.c
++++ b/drivers/char/tty_io.c
@@ -103,6 +103,7 @@
#include <linux/vt_kern.h>
#include <linux/selection.h>
@@ -1861,9 +1950,10 @@
if (pgrp < 0)
return -EINVAL;
if (session_of_pgrp(pgrp) != current->signal->session)
-diff -NurpP --minimal linux-2.6.16-rc5/drivers/infiniband/core/uverbs_mem.c linux-2.6.16-rc5-vs2.0.2-rc10/drivers/infiniband/core/uverbs_mem.c
---- linux-2.6.16-rc5/drivers/infiniband/core/uverbs_mem.c 2005-10-28 20:49:23 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/drivers/infiniband/core/uverbs_mem.c 2006-02-17 22:18:50 +0100
+diff --git a/drivers/infiniband/core/uverbs_mem.c b/drivers/infiniband/core/uverbs_mem.c
+index 36a32c3..a945edd 100644
+--- a/drivers/infiniband/core/uverbs_mem.c
++++ b/drivers/infiniband/core/uverbs_mem.c
@@ -36,6 +36,7 @@
#include <linux/mm.h>
@@ -1901,9 +1991,10 @@
up_write(&work->mm->mmap_sem);
mmput(work->mm);
kfree(work);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/attr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/attr.c
---- linux-2.6.16-rc5/fs/attr.c 2006-02-28 15:03:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/attr.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/attr.c b/fs/attr.c
+index 97de946..bb1c58c 100644
+--- a/fs/attr.c
++++ b/fs/attr.c
@@ -15,6 +15,9 @@
#include <linux/fcntl.h>
#include <linux/quotaops.h>
@@ -1962,9 +2053,10 @@
error = DQUOT_TRANSFER(inode, attr) ? -EDQUOT : 0;
if (!error)
error = inode_setattr(inode, attr);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/binfmt_aout.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_aout.c
---- linux-2.6.16-rc5/fs/binfmt_aout.c 2006-02-28 15:03:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_aout.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c
+index f312103..0cfa5a6 100644
+--- a/fs/binfmt_aout.c
++++ b/fs/binfmt_aout.c
@@ -24,6 +24,7 @@
#include <linux/binfmts.h>
#include <linux/personality.h>
@@ -1973,9 +2065,10 @@
#include <asm/system.h>
#include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.16-rc5/fs/binfmt_elf.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_elf.c
---- linux-2.6.16-rc5/fs/binfmt_elf.c 2006-02-28 15:03:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_elf.c 2006-02-28 15:21:26 +0100
+diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
+index c2eac2a..814b570 100644
+--- a/fs/binfmt_elf.c
++++ b/fs/binfmt_elf.c
@@ -38,6 +38,7 @@
#include <linux/security.h>
#include <linux/syscalls.h>
@@ -1984,9 +2077,10 @@
#include <asm/uaccess.h>
#include <asm/param.h>
-diff -NurpP --minimal linux-2.6.16-rc5/fs/binfmt_flat.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_flat.c
---- linux-2.6.16-rc5/fs/binfmt_flat.c 2006-02-28 15:03:18 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_flat.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c
+index 108d56b..5b32e27 100644
+--- a/fs/binfmt_flat.c
++++ b/fs/binfmt_flat.c
@@ -36,6 +36,7 @@
#include <linux/personality.h>
#include <linux/init.h>
@@ -1995,9 +2089,10 @@
#include <asm/byteorder.h>
#include <asm/system.h>
-diff -NurpP --minimal linux-2.6.16-rc5/fs/binfmt_som.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_som.c
---- linux-2.6.16-rc5/fs/binfmt_som.c 2006-01-03 17:29:55 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/binfmt_som.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/binfmt_som.c b/fs/binfmt_som.c
+index 00a91dc..e1cb594 100644
+--- a/fs/binfmt_som.c
++++ b/fs/binfmt_som.c
@@ -28,6 +28,7 @@
#include <linux/shm.h>
#include <linux/personality.h>
@@ -2006,9 +2101,10 @@
#include <asm/uaccess.h>
#include <asm/pgtable.h>
-diff -NurpP --minimal linux-2.6.16-rc5/fs/devpts/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/devpts/inode.c
---- linux-2.6.16-rc5/fs/devpts/inode.c 2006-02-28 15:03:20 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/devpts/inode.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
+index bfb8a23..caba0b5 100644
+--- a/fs/devpts/inode.c
++++ b/fs/devpts/inode.c
@@ -19,7 +19,19 @@
#include <linux/tty.h>
#include <linux/devpts_fs.h>
@@ -2075,9 +2171,10 @@
inode->u.generic_ip = tty;
dentry = get_node(number);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/exec.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/exec.c
---- linux-2.6.16-rc5/fs/exec.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/exec.c 2006-02-18 15:22:50 +0100
+diff --git a/fs/exec.c b/fs/exec.c
+index 0b515ac..aa030cb 100644
+--- a/fs/exec.c
++++ b/fs/exec.c
@@ -49,6 +49,7 @@
#include <linux/rmap.h>
#include <linux/acct.h>
@@ -2096,9 +2193,10 @@
}
for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/balloc.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/balloc.c
---- linux-2.6.16-rc5/fs/ext2/balloc.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/balloc.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c
+index 2c00953..21cee4f 100644
+--- a/fs/ext2/balloc.c
++++ b/fs/ext2/balloc.c
@@ -17,6 +17,7 @@
#include <linux/sched.h>
#include <linux/buffer_head.h>
@@ -2144,9 +2242,10 @@
release_blocks(sb, es_alloc);
out_dquot:
DQUOT_FREE_BLOCK(inode, dq_alloc);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/ext2.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/ext2.h
---- linux-2.6.16-rc5/fs/ext2/ext2.h 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/ext2.h 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h
+index 00de0a7..3c537fc 100644
+--- a/fs/ext2/ext2.h
++++ b/fs/ext2/ext2.h
@@ -162,6 +162,7 @@ extern struct file_operations ext2_xip_f
extern struct address_space_operations ext2_aops;
extern struct address_space_operations ext2_aops_xip;
@@ -2155,18 +2254,20 @@
/* namei.c */
extern struct inode_operations ext2_dir_inode_operations;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/file.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/file.c
---- linux-2.6.16-rc5/fs/ext2/file.c 2005-08-29 22:25:30 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/file.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/file.c b/fs/ext2/file.c
+index a484412..addf2c3 100644
+--- a/fs/ext2/file.c
++++ b/fs/ext2/file.c
@@ -79,4 +79,5 @@ struct inode_operations ext2_file_inode_
#endif
.setattr = ext2_setattr,
.permission = ext2_permission,
+ .sync_flags = ext2_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/ialloc.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/ialloc.c
---- linux-2.6.16-rc5/fs/ext2/ialloc.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/ialloc.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
+index e527652..11e7d7a 100644
+--- a/fs/ext2/ialloc.c
++++ b/fs/ext2/ialloc.c
@@ -18,6 +18,8 @@
#include <linux/backing-dev.h>
#include <linux/buffer_head.h>
@@ -2222,9 +2323,10 @@
make_bad_inode(inode);
iput(inode);
return ERR_PTR(err);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/inode.c
---- linux-2.6.16-rc5/fs/ext2/inode.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/inode.c 2006-02-22 18:24:11 +0100
+diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c
+index a717837..5a08051 100644
+--- a/fs/ext2/inode.c
++++ b/fs/ext2/inode.c
@@ -31,6 +31,7 @@
#include <linux/writeback.h>
#include <linux/buffer_head.h>
@@ -2365,9 +2467,10 @@
error = inode_setattr(inode, iattr);
if (!error && (iattr->ia_valid & ATTR_MODE))
error = ext2_acl_chmod(inode);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/ioctl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/ioctl.c
---- linux-2.6.16-rc5/fs/ext2/ioctl.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/ioctl.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/ioctl.c b/fs/ext2/ioctl.c
+index 3ca9afd..6ef1d95 100644
+--- a/fs/ext2/ioctl.c
++++ b/fs/ext2/ioctl.c
@@ -11,6 +11,7 @@
#include <linux/capability.h>
#include <linux/time.h>
@@ -2407,9 +2510,10 @@
return -EROFS;
if (get_user(inode->i_generation, (int __user *) arg))
return -EFAULT;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/namei.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/namei.c
---- linux-2.6.16-rc5/fs/ext2/namei.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/namei.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/namei.c b/fs/ext2/namei.c
+index ad1432a..30d7141 100644
+--- a/fs/ext2/namei.c
++++ b/fs/ext2/namei.c
@@ -31,6 +31,7 @@
*/
@@ -2440,9 +2544,10 @@
.permission = ext2_permission,
+ .sync_flags = ext2_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/super.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/super.c
---- linux-2.6.16-rc5/fs/ext2/super.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/super.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/super.c b/fs/ext2/super.c
+index cb6f9bd..66c3b1e 100644
+--- a/fs/ext2/super.c
++++ b/fs/ext2/super.c
@@ -289,7 +289,7 @@ enum {
Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug,
Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr,
@@ -2495,9 +2600,10 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/symlink.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/symlink.c
---- linux-2.6.16-rc5/fs/ext2/symlink.c 2005-08-29 22:25:30 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/symlink.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext2/symlink.c b/fs/ext2/symlink.c
+index 1e67d87..f86ceeb 100644
+--- a/fs/ext2/symlink.c
++++ b/fs/ext2/symlink.c
@@ -38,6 +38,7 @@ struct inode_operations ext2_symlink_ino
.listxattr = ext2_listxattr,
.removexattr = generic_removexattr,
@@ -2512,9 +2618,10 @@
#endif
+ .sync_flags = ext2_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext2/xattr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/xattr.c
---- linux-2.6.16-rc5/fs/ext2/xattr.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext2/xattr.c 2006-02-18 15:24:24 +0100
+diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c
+index 86ae8e9..24c816a 100644
+--- a/fs/ext2/xattr.c
++++ b/fs/ext2/xattr.c
@@ -60,6 +60,7 @@
#include <linux/mbcache.h>
#include <linux/quotaops.h>
@@ -2552,9 +2659,10 @@
DQUOT_FREE_BLOCK(inode, 1);
}
EXT2_I(inode)->i_file_acl = 0;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/balloc.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/balloc.c
---- linux-2.6.16-rc5/fs/ext3/balloc.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/balloc.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c
+index 6250fcd..656cd16 100644
+--- a/fs/ext3/balloc.c
++++ b/fs/ext3/balloc.c
@@ -20,6 +20,7 @@
#include <linux/ext3_jbd.h>
#include <linux/quotaops.h>
@@ -2652,9 +2760,10 @@
if (fatal) {
*errp = fatal;
ext3_std_error(sb, fatal);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/file.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/file.c
---- linux-2.6.16-rc5/fs/ext3/file.c 2005-08-29 22:25:30 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/file.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/file.c b/fs/ext3/file.c
+index 98e7834..9aae45c 100644
+--- a/fs/ext3/file.c
++++ b/fs/ext3/file.c
@@ -131,5 +131,6 @@ struct inode_operations ext3_file_inode_
.removexattr = generic_removexattr,
#endif
@@ -2662,9 +2771,10 @@
+ .sync_flags = ext3_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/ialloc.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/ialloc.c
---- linux-2.6.16-rc5/fs/ext3/ialloc.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/ialloc.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c
+index dc82646..17c75f5 100644
+--- a/fs/ext3/ialloc.c
++++ b/fs/ext3/ialloc.c
@@ -23,6 +23,8 @@
#include <linux/buffer_head.h>
#include <linux/random.h>
@@ -2722,9 +2832,10 @@
inode->i_flags |= S_NOQUOTA;
inode->i_nlink = 0;
iput(inode);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/inode.c
---- linux-2.6.16-rc5/fs/ext3/inode.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/inode.c 2006-02-22 18:24:11 +0100
+diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
+index 0384e53..045eaf9 100644
+--- a/fs/ext3/inode.c
++++ b/fs/ext3/inode.c
@@ -36,6 +36,7 @@
#include <linux/writeback.h>
#include <linux/mpage.h>
@@ -2733,7 +2844,7 @@
#include "xattr.h"
#include "acl.h"
-@@ -2423,19 +2424,77 @@ void ext3_set_inode_flags(struct inode *
+@@ -2422,19 +2423,77 @@ void ext3_set_inode_flags(struct inode *
{
unsigned int flags = EXT3_I(inode)->i_flags;
@@ -2814,7 +2925,7 @@
void ext3_read_inode(struct inode * inode)
{
struct ext3_iloc iloc;
-@@ -2443,6 +2502,8 @@ void ext3_read_inode(struct inode * inod
+@@ -2442,6 +2501,8 @@ void ext3_read_inode(struct inode * inod
struct ext3_inode_info *ei = EXT3_I(inode);
struct buffer_head *bh;
int block;
@@ -2823,7 +2934,7 @@
#ifdef CONFIG_EXT3_FS_POSIX_ACL
ei->i_acl = EXT3_ACL_NOT_CACHED;
-@@ -2455,12 +2516,17 @@ void ext3_read_inode(struct inode * inod
+@@ -2454,12 +2515,17 @@ void ext3_read_inode(struct inode * inod
bh = iloc.bh;
raw_inode = ext3_raw_inode(&iloc);
inode->i_mode = le16_to_cpu(raw_inode->i_mode);
@@ -2845,7 +2956,7 @@
inode->i_nlink = le16_to_cpu(raw_inode->i_links_count);
inode->i_size = le32_to_cpu(raw_inode->i_size);
inode->i_atime.tv_sec = le32_to_cpu(raw_inode->i_atime);
-@@ -2587,6 +2653,8 @@ static int ext3_do_update_inode(handle_t
+@@ -2586,6 +2652,8 @@ static int ext3_do_update_inode(handle_t
struct ext3_inode *raw_inode = ext3_raw_inode(iloc);
struct ext3_inode_info *ei = EXT3_I(inode);
struct buffer_head *bh = iloc->bh;
@@ -2854,7 +2965,7 @@
int err = 0, rc, block;
/* For fields not not tracking in the in-memory inode,
-@@ -2596,29 +2664,32 @@ static int ext3_do_update_inode(handle_t
+@@ -2595,29 +2663,32 @@ static int ext3_do_update_inode(handle_t
raw_inode->i_mode = cpu_to_le16(inode->i_mode);
if(!(test_opt(inode->i_sb, NO_UID32))) {
@@ -2893,7 +3004,7 @@
raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
raw_inode->i_size = cpu_to_le32(ei->i_disksize);
raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec);
-@@ -2771,7 +2842,8 @@ int ext3_setattr(struct dentry *dentry,
+@@ -2770,7 +2841,8 @@ int ext3_setattr(struct dentry *dentry,
return error;
if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) ||
@@ -2903,7 +3014,7 @@
handle_t *handle;
/* (user+group)*(old+new) structure, inode write (sb,
-@@ -2793,6 +2865,8 @@ int ext3_setattr(struct dentry *dentry,
+@@ -2792,6 +2864,8 @@ int ext3_setattr(struct dentry *dentry,
inode->i_uid = attr->ia_uid;
if (attr->ia_valid & ATTR_GID)
inode->i_gid = attr->ia_gid;
@@ -2912,9 +3023,10 @@
error = ext3_mark_inode_dirty(handle, inode);
ext3_journal_stop(handle);
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/ioctl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/ioctl.c
---- linux-2.6.16-rc5/fs/ext3/ioctl.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/ioctl.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/ioctl.c b/fs/ext3/ioctl.c
+index 556cd55..6ed8a19 100644
+--- a/fs/ext3/ioctl.c
++++ b/fs/ext3/ioctl.c
@@ -8,11 +8,13 @@
*/
@@ -3029,9 +3141,10 @@
default:
return -ENOTTY;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/namei.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/namei.c
---- linux-2.6.16-rc5/fs/ext3/namei.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/namei.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c
+index b8f5cd1..329eae3 100644
+--- a/fs/ext3/namei.c
++++ b/fs/ext3/namei.c
@@ -36,6 +36,7 @@
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
@@ -3048,7 +3161,7 @@
}
return d_splice_alias(inode, dentry);
}
-@@ -2372,6 +2374,7 @@ struct inode_operations ext3_dir_inode_o
+@@ -2373,6 +2375,7 @@ struct inode_operations ext3_dir_inode_o
.removexattr = generic_removexattr,
#endif
.permission = ext3_permission,
@@ -3056,15 +3169,16 @@
};
struct inode_operations ext3_special_inode_operations = {
-@@ -2383,4 +2386,5 @@ struct inode_operations ext3_special_ino
+@@ -2384,4 +2387,5 @@ struct inode_operations ext3_special_ino
.removexattr = generic_removexattr,
#endif
.permission = ext3_permission,
+ .sync_flags = ext3_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/super.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/super.c
---- linux-2.6.16-rc5/fs/ext3/super.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/super.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/super.c b/fs/ext3/super.c
+index 56bf765..4337596 100644
+--- a/fs/ext3/super.c
++++ b/fs/ext3/super.c
@@ -634,7 +634,7 @@ enum {
Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
@@ -3117,9 +3231,10 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT3_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/symlink.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/symlink.c
---- linux-2.6.16-rc5/fs/ext3/symlink.c 2005-08-29 22:25:30 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/symlink.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/symlink.c b/fs/ext3/symlink.c
+index 4f79122..d9526d7 100644
+--- a/fs/ext3/symlink.c
++++ b/fs/ext3/symlink.c
@@ -40,6 +40,7 @@ struct inode_operations ext3_symlink_ino
.listxattr = ext3_listxattr,
.removexattr = generic_removexattr,
@@ -3134,9 +3249,10 @@
#endif
+ .sync_flags = ext3_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ext3/xattr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/xattr.c
---- linux-2.6.16-rc5/fs/ext3/xattr.c 2006-02-28 15:03:21 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ext3/xattr.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ext3/xattr.c b/fs/ext3/xattr.c
+index e8d60bf..fac3f24 100644
+--- a/fs/ext3/xattr.c
++++ b/fs/ext3/xattr.c
@@ -58,6 +58,7 @@
#include <linux/mbcache.h>
#include <linux/quotaops.h>
@@ -3178,9 +3294,10 @@
goto cleanup;
bad_block:
-diff -NurpP --minimal linux-2.6.16-rc5/fs/fcntl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/fcntl.c
---- linux-2.6.16-rc5/fs/fcntl.c 2006-02-28 15:03:22 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/fcntl.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/fcntl.c b/fs/fcntl.c
+index dc4a700..84d0e40 100644
+--- a/fs/fcntl.c
++++ b/fs/fcntl.c
@@ -18,6 +18,7 @@
#include <linux/ptrace.h>
#include <linux/signal.h>
@@ -3234,19 +3351,20 @@
if (p) {
send_sigurg_to_task(p, fown);
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/file_table.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/file_table.c
---- linux-2.6.16-rc5/fs/file_table.c 2006-02-28 15:03:22 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/file_table.c 2006-02-17 22:18:50 +0100
-@@ -19,6 +19,8 @@
- #include <linux/capability.h>
- #include <linux/cdev.h>
+diff --git a/fs/file_table.c b/fs/file_table.c
+index 44fabea..cc11ccb 100644
+--- a/fs/file_table.c
++++ b/fs/file_table.c
+@@ -22,6 +22,8 @@
#include <linux/fsnotify.h>
+ #include <linux/sysctl.h>
+ #include <linux/percpu_counter.h>
+#include <linux/vs_limit.h>
+#include <linux/vs_context.h>
- /* sysctl tunables... */
- struct files_stat_struct files_stat = {
-@@ -97,6 +99,8 @@ struct file *get_empty_filp(void)
+ #include <asm/atomic.h>
+
+@@ -119,6 +121,8 @@ struct file *get_empty_filp(void)
rwlock_init(&f->f_owner.lock);
/* f->f_version: 0 */
INIT_LIST_HEAD(&f->f_u.fu_list);
@@ -3255,7 +3373,7 @@
return f;
over:
-@@ -151,6 +155,8 @@ void fastcall __fput(struct file *file)
+@@ -173,6 +177,8 @@ void fastcall __fput(struct file *file)
fops_put(file->f_op);
if (file->f_mode & FMODE_WRITE)
put_write_access(inode);
@@ -3264,7 +3382,7 @@
file_kill(file);
file->f_dentry = NULL;
file->f_vfsmnt = NULL;
-@@ -216,6 +222,8 @@ void put_filp(struct file *file)
+@@ -238,6 +244,8 @@ void put_filp(struct file *file)
{
if (atomic_dec_and_test(&file->f_count)) {
security_file_free(file);
@@ -3273,9 +3391,10 @@
file_kill(file);
file_free(file);
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/hfsplus/ioctl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/hfsplus/ioctl.c
---- linux-2.6.16-rc5/fs/hfsplus/ioctl.c 2006-02-28 15:03:22 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/hfsplus/ioctl.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/hfsplus/ioctl.c b/fs/hfsplus/ioctl.c
+index 13cf848..cccd9fc 100644
+--- a/fs/hfsplus/ioctl.c
++++ b/fs/hfsplus/ioctl.c
@@ -16,6 +16,7 @@
#include <linux/fs.h>
#include <linux/sched.h>
@@ -3294,9 +3413,10 @@
return -EROFS;
if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
-diff -NurpP --minimal linux-2.6.16-rc5/fs/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/inode.c
---- linux-2.6.16-rc5/fs/inode.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/inode.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/inode.c b/fs/inode.c
+index d0be615..e989f5f 100644
+--- a/fs/inode.c
++++ b/fs/inode.c
@@ -116,6 +116,9 @@ static struct inode *alloc_inode(struct
struct address_space * const mapping = &inode->i_data;
@@ -3316,9 +3436,10 @@
/**
* clear_inode - clear an inode
* @inode: inode to clear
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ioctl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ioctl.c
---- linux-2.6.16-rc5/fs/ioctl.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ioctl.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ioctl.c b/fs/ioctl.c
+index f8aeec3..cfcaad7 100644
+--- a/fs/ioctl.c
++++ b/fs/ioctl.c
@@ -13,10 +13,19 @@
#include <linux/fs.h>
#include <linux/security.h>
@@ -3388,9 +3509,10 @@
default:
if (S_ISREG(filp->f_dentry->d_inode->i_mode))
error = file_ioctl(filp, cmd, arg);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/ioprio.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/ioprio.c
---- linux-2.6.16-rc5/fs/ioprio.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/ioprio.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/ioprio.c b/fs/ioprio.c
+index ca77008..5d86209 100644
+--- a/fs/ioprio.c
++++ b/fs/ioprio.c
@@ -24,6 +24,7 @@
#include <linux/blkdev.h>
#include <linux/capability.h>
@@ -3417,9 +3539,10 @@
if (!user)
break;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/acl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/acl.c
---- linux-2.6.16-rc5/fs/jfs/acl.c 2005-10-28 20:49:44 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/acl.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c
+index 461e493..5df5582 100644
+--- a/fs/jfs/acl.c
++++ b/fs/jfs/acl.c
@@ -229,7 +229,8 @@ int jfs_setattr(struct dentry *dentry, s
return rc;
@@ -3430,9 +3553,10 @@
if (DQUOT_TRANSFER(inode, iattr))
return -EDQUOT;
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/inode.c
---- linux-2.6.16-rc5/fs/jfs/inode.c 2005-10-28 20:49:44 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/inode.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
+index 9f942ca..3df7857 100644
+--- a/fs/jfs/inode.c
++++ b/fs/jfs/inode.c
@@ -22,6 +22,7 @@
#include <linux/buffer_head.h>
#include <linux/pagemap.h>
@@ -3449,9 +3573,10 @@
}
clear_inode(inode);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/jfs_dtree.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_dtree.c
---- linux-2.6.16-rc5/fs/jfs/jfs_dtree.c 2005-08-29 22:25:31 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_dtree.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c
+index 404f33e..e567174 100644
+--- a/fs/jfs/jfs_dtree.c
++++ b/fs/jfs/jfs_dtree.c
@@ -102,6 +102,7 @@
#include <linux/fs.h>
@@ -3571,9 +3696,10 @@
/* Free quota allocation */
DQUOT_FREE_BLOCK(ip, xlen);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/jfs_extent.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_extent.c
---- linux-2.6.16-rc5/fs/jfs/jfs_extent.c 2005-08-29 22:25:32 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_extent.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/jfs_extent.c b/fs/jfs/jfs_extent.c
+index 4879603..ecd440e 100644
+--- a/fs/jfs/jfs_extent.c
++++ b/fs/jfs/jfs_extent.c
@@ -18,6 +18,7 @@
#include <linux/fs.h>
@@ -3634,9 +3760,10 @@
DQUOT_FREE_BLOCK(ip, nxlen);
goto exit;
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/jfs_filsys.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_filsys.h
---- linux-2.6.16-rc5/fs/jfs/jfs_filsys.h 2005-10-28 20:49:44 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_filsys.h 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/jfs_filsys.h b/fs/jfs/jfs_filsys.h
+index 72a5588..7f0d552 100644
+--- a/fs/jfs/jfs_filsys.h
++++ b/fs/jfs/jfs_filsys.h
@@ -84,6 +84,7 @@
#define JFS_DIR_INDEX 0x00200000 /* Persistant index for */
/* directory entries */
@@ -3645,9 +3772,10 @@
/*
* buffer cache configuration
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/jfs_imap.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_imap.c
---- linux-2.6.16-rc5/fs/jfs/jfs_imap.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_imap.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c
+index 31b4aa1..a321fc4 100644
+--- a/fs/jfs/jfs_imap.c
++++ b/fs/jfs/jfs_imap.c
@@ -45,6 +45,7 @@
#include <linux/buffer_head.h>
#include <linux/pagemap.h>
@@ -3703,9 +3831,10 @@
/*
* mode2 is only needed for storing the higher order bits.
* Trust i_mode for the lower order ones
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/jfs_inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_inode.c
---- linux-2.6.16-rc5/fs/jfs/jfs_inode.c 2005-08-29 22:25:32 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_inode.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/jfs_inode.c b/fs/jfs/jfs_inode.c
+index 2af5efb..4340659 100644
+--- a/fs/jfs/jfs_inode.c
++++ b/fs/jfs/jfs_inode.c
@@ -18,6 +18,8 @@
#include <linux/fs.h>
@@ -3733,9 +3862,10 @@
DQUOT_DROP(inode);
inode->i_flags |= S_NOQUOTA;
inode->i_nlink = 0;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/jfs_xtree.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_xtree.c
---- linux-2.6.16-rc5/fs/jfs/jfs_xtree.c 2006-01-03 17:29:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/jfs_xtree.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/jfs_xtree.c b/fs/jfs/jfs_xtree.c
+index e72f4eb..677890c 100644
+--- a/fs/jfs/jfs_xtree.c
++++ b/fs/jfs/jfs_xtree.c
@@ -21,6 +21,7 @@
#include <linux/fs.h>
@@ -3827,9 +3957,10 @@
/* update quota allocation to reflect freed blocks */
DQUOT_FREE_BLOCK(ip, nfreed);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/namei.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/namei.c
---- linux-2.6.16-rc5/fs/jfs/namei.c 2006-01-03 17:29:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/namei.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c
+index 4abbe86..a32f2f5 100644
+--- a/fs/jfs/namei.c
++++ b/fs/jfs/namei.c
@@ -20,6 +20,7 @@
#include <linux/fs.h>
#include <linux/ctype.h>
@@ -3846,9 +3977,10 @@
dentry = d_splice_alias(ip, dentry);
if (dentry && (JFS_SBI(dip->i_sb)->mntflag & JFS_OS2))
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/super.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/super.c
---- linux-2.6.16-rc5/fs/jfs/super.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/super.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/super.c b/fs/jfs/super.c
+index 8d31f13..b71f608 100644
+--- a/fs/jfs/super.c
++++ b/fs/jfs/super.c
@@ -195,7 +195,7 @@ static void jfs_put_super(struct super_b
enum {
Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,
@@ -3903,9 +4035,10 @@
if (newLVSize) {
printk(KERN_ERR "resize option for remount only\n");
-diff -NurpP --minimal linux-2.6.16-rc5/fs/jfs/xattr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/xattr.c
---- linux-2.6.16-rc5/fs/jfs/xattr.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/jfs/xattr.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/jfs/xattr.c b/fs/jfs/xattr.c
+index f23048f..cba307d 100644
+--- a/fs/jfs/xattr.c
++++ b/fs/jfs/xattr.c
@@ -23,6 +23,7 @@
#include <linux/posix_acl_xattr.h>
#include <linux/quotaops.h>
@@ -3983,9 +4116,10 @@
inode->i_ctime = CURRENT_TIME;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/libfs.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/libfs.c
---- linux-2.6.16-rc5/fs/libfs.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/libfs.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/libfs.c b/fs/libfs.c
+index 71fd08f..30110a2 100644
+--- a/fs/libfs.c
++++ b/fs/libfs.c
@@ -122,7 +122,8 @@ static inline unsigned char dt_type(stru
* both impossible due to the lock on directory.
*/
@@ -4032,9 +4166,10 @@
EXPORT_SYMBOL(generic_read_dir);
EXPORT_SYMBOL(get_sb_pseudo);
EXPORT_SYMBOL(simple_commit_write);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/locks.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/locks.c
---- linux-2.6.16-rc5/fs/locks.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/locks.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/locks.c b/fs/locks.c
+index 909eab8..5141c22 100644
+--- a/fs/locks.c
++++ b/fs/locks.c
@@ -125,6 +125,7 @@
#include <linux/syscalls.h>
#include <linux/time.h>
@@ -4212,9 +4347,10 @@
lock_get_status(q, fl, ++i, "");
move_lock_status(&q, &pos, offset);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/namei.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/namei.c
---- linux-2.6.16-rc5/fs/namei.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/namei.c 2006-02-28 15:21:26 +0100
+diff --git a/fs/namei.c b/fs/namei.c
+index 8dc2b03..aacff04 100644
+--- a/fs/namei.c
++++ b/fs/namei.c
@@ -32,6 +32,9 @@
#include <linux/file.h>
#include <linux/fcntl.h>
@@ -4533,9 +4669,10 @@
new_dentry = lookup_hash(&newnd);
error = PTR_ERR(new_dentry);
if (IS_ERR(new_dentry))
-diff -NurpP --minimal linux-2.6.16-rc5/fs/namespace.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/namespace.c
---- linux-2.6.16-rc5/fs/namespace.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/namespace.c 2006-02-17 22:22:30 +0100
+diff --git a/fs/namespace.c b/fs/namespace.c
+index 058a448..8668603 100644
+--- a/fs/namespace.c
++++ b/fs/namespace.c
@@ -23,6 +23,8 @@
#include <linux/namei.h>
#include <linux/security.h>
@@ -4628,11 +4765,6 @@
- seq_putc(m, ' ');
- seq_path(m, mnt, mnt->mnt_root, " \t\n\\");
- seq_putc(m, ' ');
-- mangle(m, mnt->mnt_sb->s_type->name);
-- seq_puts(m, mnt->mnt_sb->s_flags & MS_RDONLY ? " ro" : " rw");
-- for (fs_infop = fs_info; fs_infop->flag; fs_infop++) {
-- if (mnt->mnt_sb->s_flags & fs_infop->flag)
-- seq_puts(m, fs_infop->str);
+ if (vx_flags(VXF_HIDE_MOUNT, 0))
+ return 0;
+ if (!mnt_is_reachable(mnt))
@@ -4646,11 +4778,16 @@
+ seq_putc(m, ' ');
+ seq_path(m, mnt, mnt->mnt_root, " \t\n\\");
+ seq_putc(m, ' ');
- }
++ }
+ mangle(m, mnt->mnt_sb->s_type->name);
+- seq_puts(m, mnt->mnt_sb->s_flags & MS_RDONLY ? " ro" : " rw");
+- for (fs_infop = fs_info; fs_infop->flag; fs_infop++) {
+- if (mnt->mnt_sb->s_flags & fs_infop->flag)
+- seq_puts(m, fs_infop->str);
+- }
- for (fs_infop = mnt_info; fs_infop->flag; fs_infop++) {
- if (mnt->mnt_flags & fs_infop->flag)
- seq_puts(m, fs_infop->str);
-+ mangle(m, mnt->mnt_sb->s_type->name);
+ seq_putc(m, ' ');
+ for (p = fs_info; (p->s_flag | p->mnt_flag) ; p++) {
+ if ((s_flags & p->s_flag) || (mnt_flags & p->mnt_flag)) {
@@ -4861,9 +4998,10 @@
err = -EPERM;
goto out;
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfs/dir.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/dir.c
---- linux-2.6.16-rc5/fs/nfs/dir.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/dir.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
+index a1554be..07d6baf 100644
+--- a/fs/nfs/dir.c
++++ b/fs/nfs/dir.c
@@ -28,9 +28,11 @@
#include <linux/sunrpc/clnt.h>
#include <linux/nfs_fs.h>
@@ -4894,9 +5032,10 @@
return 0;
return 1;
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfs/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/inode.c
---- linux-2.6.16-rc5/fs/nfs/inode.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/inode.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
+index a77ee95..d2205df 100644
+--- a/fs/nfs/inode.c
++++ b/fs/nfs/inode.c
@@ -35,6 +35,7 @@
#include <linux/mount.h>
#include <linux/nfs_idmap.h>
@@ -5024,9 +5163,10 @@
if (fattr->valid & (NFS_ATTR_FATTR_V3 | NFS_ATTR_FATTR_V4)) {
/*
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfs/nfs3xdr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/nfs3xdr.c
---- linux-2.6.16-rc5/fs/nfs/nfs3xdr.c 2006-02-28 15:03:23 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/nfs3xdr.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c
+index b6c0b50..d525c30 100644
+--- a/fs/nfs/nfs3xdr.c
++++ b/fs/nfs/nfs3xdr.c
@@ -22,6 +22,7 @@
#include <linux/nfs3.h>
#include <linux/nfs_fs.h>
@@ -5116,9 +5256,10 @@
if (args->type == NF3CHR || args->type == NF3BLK) {
*p++ = htonl(MAJOR(args->rdev));
*p++ = htonl(MINOR(args->rdev));
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfs/nfsroot.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/nfsroot.c
---- linux-2.6.16-rc5/fs/nfs/nfsroot.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfs/nfsroot.c 2006-02-17 22:18:50 +0100
+diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
+index c0a754e..a12c6a8 100644
+--- a/fs/nfs/nfsroot.c
++++ b/fs/nfs/nfsroot.c
@@ -87,6 +87,7 @@
#include <linux/root_dev.h>
#include <net/ipconfig.h>
@@ -5165,9 +5306,10 @@
if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) {
printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n");
return -1;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfsd/auth.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/auth.c
---- linux-2.6.16-rc5/fs/nfsd/auth.c 2004-08-14 12:56:14 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/auth.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c
+index cfe9ce8..672a9b1 100644
+--- a/fs/nfsd/auth.c
++++ b/fs/nfsd/auth.c
@@ -9,6 +9,7 @@
#include <linux/sunrpc/svc.h>
#include <linux/sunrpc/svcauth.h>
@@ -5200,9 +5342,10 @@
cap_t(current->cap_effective) &= ~CAP_NFSD_MASK;
} else {
cap_t(current->cap_effective) |= (CAP_NFSD_MASK &
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfsd/nfs3xdr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfs3xdr.c
---- linux-2.6.16-rc5/fs/nfsd/nfs3xdr.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfs3xdr.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c
+index 243d94b..75491e3 100644
+--- a/fs/nfsd/nfs3xdr.c
++++ b/fs/nfsd/nfs3xdr.c
@@ -21,6 +21,7 @@
#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsd.h>
@@ -5251,9 +5394,10 @@
if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) {
p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN);
} else {
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfsd/nfs4recover.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfs4recover.c
---- linux-2.6.16-rc5/fs/nfsd/nfs4recover.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfs4recover.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
+index 06da750..a725cd1 100644
+--- a/fs/nfsd/nfs4recover.c
++++ b/fs/nfsd/nfs4recover.c
@@ -155,7 +155,7 @@ nfsd4_create_clid_dir(struct nfs4_client
dprintk("NFSD: nfsd4_create_clid_dir: DIRECTORY EXISTS\n");
goto out_put;
@@ -5281,9 +5425,10 @@
mutex_unlock(&dir->d_inode->i_mutex);
return status;
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfsd/nfs4xdr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfs4xdr.c
---- linux-2.6.16-rc5/fs/nfsd/nfs4xdr.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfs4xdr.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
+index 69d3501..753cd9f 100644
+--- a/fs/nfsd/nfs4xdr.c
++++ b/fs/nfsd/nfs4xdr.c
@@ -57,6 +57,7 @@
#include <linux/nfsd_idmap.h>
#include <linux/nfs4.h>
@@ -5313,9 +5458,10 @@
if (status == nfserr_resource)
goto out_resource;
if (status)
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfsd/nfsxdr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfsxdr.c
---- linux-2.6.16-rc5/fs/nfsd/nfsxdr.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/nfsxdr.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c
+index e3a0797..9671d96 100644
+--- a/fs/nfsd/nfsxdr.c
++++ b/fs/nfsd/nfsxdr.c
@@ -15,6 +15,7 @@
#include <linux/nfsd/nfsd.h>
#include <linux/nfsd/xdr.h>
@@ -5364,9 +5510,10 @@
if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) {
*p++ = htonl(NFS_MAXPATHLEN);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/nfsd/vfs.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/vfs.c
---- linux-2.6.16-rc5/fs/nfsd/vfs.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/nfsd/vfs.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
+index 5320e5a..c9a49da 100644
+--- a/fs/nfsd/vfs.c
++++ b/fs/nfsd/vfs.c
@@ -1160,13 +1160,13 @@ nfsd_create(struct svc_rqst *rqstp, stru
err = vfs_create(dirp, dchild, iap->ia_mode, NULL);
break;
@@ -5430,9 +5577,10 @@
return nfserr_rofs;
if (/* (acc & MAY_WRITE) && */ IS_IMMUTABLE(inode))
return nfserr_perm;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/open.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/open.c
---- linux-2.6.16-rc5/fs/open.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/open.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/open.c b/fs/open.c
+index 70e0230..a0bf558 100644
+--- a/fs/open.c
++++ b/fs/open.c
@@ -27,6 +27,9 @@
#include <linux/pagemap.h>
#include <linux/syscalls.h>
@@ -5592,9 +5740,10 @@
}
void fastcall put_unused_fd(unsigned int fd)
-diff -NurpP --minimal linux-2.6.16-rc5/fs/proc/array.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/array.c
---- linux-2.6.16-rc5/fs/proc/array.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/array.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/proc/array.c b/fs/proc/array.c
+index 7eb1bd7..8434cba 100644
+--- a/fs/proc/array.c
++++ b/fs/proc/array.c
@@ -75,6 +75,9 @@
#include <linux/times.h>
#include <linux/cpuset.h>
@@ -5757,9 +5906,10 @@
tcomm,
state,
ppid,
-diff -NurpP --minimal linux-2.6.16-rc5/fs/proc/base.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/base.c
---- linux-2.6.16-rc5/fs/proc/base.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/base.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/proc/base.c b/fs/proc/base.c
+index 20feb75..0f3449e 100644
+--- a/fs/proc/base.c
++++ b/fs/proc/base.c
@@ -72,6 +72,8 @@
#include <linux/cpuset.h>
#include <linux/audit.h>
@@ -6098,9 +6248,10 @@
goto out;
retval = 0;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/proc/generic.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/generic.c
---- linux-2.6.16-rc5/fs/proc/generic.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/generic.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/proc/generic.c b/fs/proc/generic.c
+index 20e5c45..38c8540 100644
+--- a/fs/proc/generic.c
++++ b/fs/proc/generic.c
@@ -19,6 +19,7 @@
#include <linux/idr.h>
#include <linux/namei.h>
@@ -6156,9 +6307,10 @@
} else {
kfree(ent);
ent = NULL;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/proc/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/inode.c
---- linux-2.6.16-rc5/fs/proc/inode.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/inode.c 2006-02-28 15:21:26 +0100
+diff --git a/fs/proc/inode.c b/fs/proc/inode.c
+index 075d3e9..6d25888 100644
+--- a/fs/proc/inode.c
++++ b/fs/proc/inode.c
@@ -170,6 +170,8 @@ struct inode *proc_get_inode(struct supe
inode->i_uid = de->uid;
inode->i_gid = de->gid;
@@ -6168,9 +6320,10 @@
if (de->size)
inode->i_size = de->size;
if (de->nlink)
-diff -NurpP --minimal linux-2.6.16-rc5/fs/proc/proc_misc.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/proc_misc.c
---- linux-2.6.16-rc5/fs/proc/proc_misc.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/proc_misc.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
+index 1d24fea..d84fdcb 100644
+--- a/fs/proc/proc_misc.c
++++ b/fs/proc/proc_misc.c
@@ -53,6 +53,8 @@
#include <asm/div64.h>
#include "internal.h"
@@ -6249,9 +6402,10 @@
return proc_calc_metrics(page, start, off, count, eof, len);
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/proc/root.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/root.c
---- linux-2.6.16-rc5/fs/proc/root.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/proc/root.c 2006-02-28 15:21:26 +0100
+diff --git a/fs/proc/root.c b/fs/proc/root.c
+index c3fd361..307ba7b 100644
+--- a/fs/proc/root.c
++++ b/fs/proc/root.c
@@ -25,6 +25,9 @@ struct proc_dir_entry *proc_net, *proc_n
#ifdef CONFIG_SYSCTL
struct proc_dir_entry *proc_sys_root;
@@ -6270,9 +6424,10 @@
}
static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat
-diff -NurpP --minimal linux-2.6.16-rc5/fs/quota.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/quota.c
---- linux-2.6.16-rc5/fs/quota.c 2006-02-28 15:03:24 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/quota.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/quota.c b/fs/quota.c
+index ba9e0bf..1b690cc 100644
+--- a/fs/quota.c
++++ b/fs/quota.c
@@ -17,6 +17,9 @@
#include <linux/buffer_head.h>
#include <linux/capability.h>
@@ -6378,9 +6533,10 @@
sb = get_super(bdev);
bdput(bdev);
if (!sb)
-diff -NurpP --minimal linux-2.6.16-rc5/fs/read_write.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/read_write.c
---- linux-2.6.16-rc5/fs/read_write.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/read_write.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/read_write.c b/fs/read_write.c
+index 3f7a1a6..fbee209 100644
+--- a/fs/read_write.c
++++ b/fs/read_write.c
@@ -667,9 +667,8 @@ static ssize_t do_sendfile(int out_fd, i
if (!(in_file->f_mode & FMODE_PREAD))
goto fput_in;
@@ -6403,9 +6559,10 @@
retval = security_file_permission (out_file, MAY_WRITE);
if (retval)
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/bitmap.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/bitmap.c
---- linux-2.6.16-rc5/fs/reiserfs/bitmap.c 2005-08-29 22:25:33 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/bitmap.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/bitmap.c b/fs/reiserfs/bitmap.c
+index 909f71e..49cd1aa 100644
+--- a/fs/reiserfs/bitmap.c
++++ b/fs/reiserfs/bitmap.c
@@ -13,6 +13,7 @@
#include <linux/reiserfs_fs_sb.h>
#include <linux/reiserfs_fs_i.h>
@@ -6502,18 +6659,20 @@
}
return CARRY_ON;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/file.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/file.c
---- linux-2.6.16-rc5/fs/reiserfs/file.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/file.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c
+index be12879..db38c09 100644
+--- a/fs/reiserfs/file.c
++++ b/fs/reiserfs/file.c
@@ -1586,4 +1586,5 @@ struct inode_operations reiserfs_file_in
.listxattr = reiserfs_listxattr,
.removexattr = reiserfs_removexattr,
.permission = reiserfs_permission,
+ .sync_flags = reiserfs_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/inode.c
---- linux-2.6.16-rc5/fs/reiserfs/inode.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/inode.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
+index d60f623..a218e53 100644
+--- a/fs/reiserfs/inode.c
++++ b/fs/reiserfs/inode.c
@@ -17,6 +17,8 @@
#include <linux/mpage.h>
#include <linux/writeback.h>
@@ -6531,7 +6690,7 @@
if (journal_end(&th, inode->i_sb, jbegin_count)) {
mutex_unlock(&inode->i_mutex);
-@@ -1130,6 +1133,8 @@ static void init_inode(struct inode *ino
+@@ -1126,6 +1129,8 @@ static void init_inode(struct inode *ino
struct buffer_head *bh;
struct item_head *ih;
__u32 rdev;
@@ -6540,7 +6699,7 @@
//int version = ITEM_VERSION_1;
bh = PATH_PLAST_BUFFER(path);
-@@ -1153,12 +1158,13 @@ static void init_inode(struct inode *ino
+@@ -1149,12 +1154,13 @@ static void init_inode(struct inode *ino
(struct stat_data_v1 *)B_I_PITEM(bh, ih);
unsigned long blocks;
@@ -6556,7 +6715,7 @@
inode->i_size = sd_v1_size(sd);
inode->i_atime.tv_sec = sd_v1_atime(sd);
inode->i_mtime.tv_sec = sd_v1_mtime(sd);
-@@ -1200,11 +1206,12 @@ static void init_inode(struct inode *ino
+@@ -1196,11 +1202,12 @@ static void init_inode(struct inode *ino
// (directories and symlinks)
struct stat_data *sd = (struct stat_data *)B_I_PITEM(bh, ih);
@@ -6571,7 +6730,7 @@
inode->i_mtime.tv_sec = sd_v2_mtime(sd);
inode->i_atime.tv_sec = sd_v2_atime(sd);
inode->i_ctime.tv_sec = sd_v2_ctime(sd);
-@@ -1234,6 +1241,10 @@ static void init_inode(struct inode *ino
+@@ -1230,6 +1237,10 @@ static void init_inode(struct inode *ino
sd_attrs_to_i_attrs(sd_v2_attrs(sd), inode);
}
@@ -6582,7 +6741,7 @@
pathrelse(path);
if (S_ISREG(inode->i_mode)) {
inode->i_op = &reiserfs_file_inode_operations;
-@@ -1256,13 +1267,15 @@ static void init_inode(struct inode *ino
+@@ -1252,13 +1263,15 @@ static void init_inode(struct inode *ino
static void inode2sd(void *sd, struct inode *inode, loff_t size)
{
struct stat_data *sd_v2 = (struct stat_data *)sd;
@@ -6600,7 +6759,7 @@
set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec);
set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec);
set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec);
-@@ -1793,6 +1806,10 @@ int reiserfs_new_inode(struct reiserfs_t
+@@ -1789,6 +1802,10 @@ int reiserfs_new_inode(struct reiserfs_t
BUG_ON(!th->t_trans_id);
@@ -6611,7 +6770,7 @@
if (DQUOT_ALLOC_INODE(inode)) {
err = -EDQUOT;
goto out_end_trans;
-@@ -1978,6 +1995,9 @@ int reiserfs_new_inode(struct reiserfs_t
+@@ -1974,6 +1991,9 @@ int reiserfs_new_inode(struct reiserfs_t
DQUOT_FREE_INODE(inode);
out_end_trans:
@@ -6621,7 +6780,7 @@
journal_end(th, th->t_super, th->t_blocks_allocated);
/* Drop can be outside and it needs more credits so it's better to have it outside */
DQUOT_DROP(inode);
-@@ -2705,6 +2725,14 @@ void sd_attrs_to_i_attrs(__u16 sd_attrs,
+@@ -2701,6 +2721,14 @@ void sd_attrs_to_i_attrs(__u16 sd_attrs,
inode->i_flags |= S_IMMUTABLE;
else
inode->i_flags &= ~S_IMMUTABLE;
@@ -6636,7 +6795,7 @@
if (sd_attrs & REISERFS_APPEND_FL)
inode->i_flags |= S_APPEND;
else
-@@ -2727,6 +2755,14 @@ void i_attrs_to_sd_attrs(struct inode *i
+@@ -2723,6 +2751,14 @@ void i_attrs_to_sd_attrs(struct inode *i
*sd_attrs |= REISERFS_IMMUTABLE_FL;
else
*sd_attrs &= ~REISERFS_IMMUTABLE_FL;
@@ -6651,7 +6810,7 @@
if (inode->i_flags & S_SYNC)
*sd_attrs |= REISERFS_SYNC_FL;
else
-@@ -2904,6 +2940,22 @@ static ssize_t reiserfs_direct_IO(int rw
+@@ -2900,6 +2936,22 @@ static ssize_t reiserfs_direct_IO(int rw
reiserfs_get_blocks_direct_io, NULL);
}
@@ -6674,7 +6833,7 @@
int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)
{
struct inode *inode = dentry->d_inode;
-@@ -2948,9 +3000,11 @@ int reiserfs_setattr(struct dentry *dent
+@@ -2944,9 +2996,11 @@ int reiserfs_setattr(struct dentry *dent
}
error = inode_change_ok(inode, attr);
@@ -6687,7 +6846,7 @@
error = reiserfs_chown_xattrs(inode, attr);
if (!error) {
-@@ -2980,6 +3034,9 @@ int reiserfs_setattr(struct dentry *dent
+@@ -2976,6 +3030,9 @@ int reiserfs_setattr(struct dentry *dent
inode->i_uid = attr->ia_uid;
if (attr->ia_valid & ATTR_GID)
inode->i_gid = attr->ia_gid;
@@ -6697,9 +6856,10 @@
mark_inode_dirty(inode);
error =
journal_end(&th, inode->i_sb, jbegin_count);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/ioctl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/ioctl.c
---- linux-2.6.16-rc5/fs/reiserfs/ioctl.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/ioctl.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/ioctl.c b/fs/reiserfs/ioctl.c
+index 745c881..e2dbca0 100644
+--- a/fs/reiserfs/ioctl.c
++++ b/fs/reiserfs/ioctl.c
@@ -4,6 +4,7 @@
#include <linux/capability.h>
@@ -6770,9 +6930,10 @@
return -EROFS;
if (get_user(inode->i_generation, (int __user *)arg))
return -EFAULT;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/namei.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/namei.c
---- linux-2.6.16-rc5/fs/reiserfs/namei.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/namei.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c
+index 284f785..6faa29e 100644
+--- a/fs/reiserfs/namei.c
++++ b/fs/reiserfs/namei.c
@@ -19,6 +19,7 @@
#include <linux/reiserfs_xattr.h>
#include <linux/smp_lock.h>
@@ -6820,9 +6981,10 @@
+ .sync_flags = reiserfs_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/stree.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/stree.c
---- linux-2.6.16-rc5/fs/reiserfs/stree.c 2005-08-29 22:25:33 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/stree.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/stree.c b/fs/reiserfs/stree.c
+index e2d08d7..83ea55e 100644
+--- a/fs/reiserfs/stree.c
++++ b/fs/reiserfs/stree.c
@@ -57,6 +57,7 @@
#include <linux/smp_lock.h>
#include <linux/buffer_head.h>
@@ -6898,9 +7060,10 @@
+ }
return retval;
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/super.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/super.c
---- linux-2.6.16-rc5/fs/reiserfs/super.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/super.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
+index d63da75..92a4bfd 100644
+--- a/fs/reiserfs/super.c
++++ b/fs/reiserfs/super.c
@@ -882,6 +882,9 @@ static int reiserfs_parse_options(struct
{"user_xattr",.setmask = 1 << REISERFS_UNSUPPORTED_OPT},
{"nouser_xattr",.clrmask = 1 << REISERFS_UNSUPPORTED_OPT},
@@ -6935,9 +7098,10 @@
rs = SB_DISK_SUPER_BLOCK(s);
/* Let's do basic sanity check to verify that underlying device is not
smaller than the filesystem. If the check fails then abort and scream,
-diff -NurpP --minimal linux-2.6.16-rc5/fs/reiserfs/xattr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/xattr.c
---- linux-2.6.16-rc5/fs/reiserfs/xattr.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/reiserfs/xattr.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
+index ffb79c4..b99819a 100644
+--- a/fs/reiserfs/xattr.c
++++ b/fs/reiserfs/xattr.c
@@ -35,6 +35,7 @@
#include <linux/namei.h>
#include <linux/errno.h>
@@ -6955,9 +7119,10 @@
reiserfs_write_unlock_xattrs(inode->i_sb);
dput(root);
} else {
-diff -NurpP --minimal linux-2.6.16-rc5/fs/stat.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/stat.c
---- linux-2.6.16-rc5/fs/stat.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/stat.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/stat.c b/fs/stat.c
+index 9948cc1..543f1b8 100644
+--- a/fs/stat.c
++++ b/fs/stat.c
@@ -27,6 +27,7 @@ void generic_fillattr(struct inode *inod
stat->nlink = inode->i_nlink;
stat->uid = inode->i_uid;
@@ -6966,9 +7131,10 @@
stat->rdev = inode->i_rdev;
stat->atime = inode->i_atime;
stat->mtime = inode->i_mtime;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/super.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/super.c
---- linux-2.6.16-rc5/fs/super.c 2006-02-28 15:03:25 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/super.c 2006-02-28 15:21:26 +0100
+diff --git a/fs/super.c b/fs/super.c
+index e20b558..df4551c 100644
+--- a/fs/super.c
++++ b/fs/super.c
@@ -37,6 +37,8 @@
#include <linux/writeback.h> /* for the emergency remount stuff */
#include <linux/idr.h>
@@ -7014,9 +7180,10 @@
error = security_sb_kern_mount(sb, secdata);
if (error)
goto out_sb;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/sysfs/mount.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/sysfs/mount.c
---- linux-2.6.16-rc5/fs/sysfs/mount.c 2005-08-29 22:25:33 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/sysfs/mount.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/sysfs/mount.c b/fs/sysfs/mount.c
+index f1117e8..ea01b08 100644
+--- a/fs/sysfs/mount.c
++++ b/fs/sysfs/mount.c
@@ -11,8 +11,6 @@
#include "sysfs.h"
@@ -7035,9 +7202,10 @@
sb->s_op = &sysfs_ops;
sb->s_time_gran = 1;
sysfs_sb = sb;
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xattr.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xattr.c
---- linux-2.6.16-rc5/fs/xattr.c 2006-02-28 15:03:27 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xattr.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xattr.c b/fs/xattr.c
+index 80eca7d..ad83a51 100644
+--- a/fs/xattr.c
++++ b/fs/xattr.c
@@ -17,6 +17,7 @@
#include <linux/syscalls.h>
#include <linux/module.h>
@@ -7138,9 +7306,10 @@
fput(f);
return error;
}
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_ioctl.c
---- linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_ioctl.c 2006-02-28 15:03:27 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_ioctl.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c
+index 4db4779..bff7f6d 100644
+--- a/fs/xfs/linux-2.6/xfs_ioctl.c
++++ b/fs/xfs/linux-2.6/xfs_ioctl.c
@@ -1100,6 +1100,8 @@ xfs_ioc_fsgeometry(
#define LINUX_XFLAG_APPEND 0x00000020 /* writes to file may only append */
#define LINUX_XFLAG_NODUMP 0x00000040 /* do not dump file */
@@ -7161,9 +7330,10 @@
if (di_flags & XFS_DIFLAG_APPEND)
flags |= LINUX_XFLAG_APPEND;
if (di_flags & XFS_DIFLAG_SYNC)
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_iops.c
---- linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_iops.c 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_iops.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
+index d7f6f2d..40fdc3e 100644
+--- a/fs/xfs/linux-2.6/xfs_iops.c
++++ b/fs/xfs/linux-2.6/xfs_iops.c
@@ -55,6 +55,7 @@
#include <linux/xattr.h>
#include <linux/namei.h>
@@ -7266,9 +7436,10 @@
.removexattr = linvfs_removexattr,
+ .sync_flags = linvfs_sync_flags,
};
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_linux.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_linux.h
---- linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_linux.h 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_linux.h 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/linux-2.6/xfs_linux.h b/fs/xfs/linux-2.6/xfs_linux.h
+index 67389b7..b554e6f 100644
+--- a/fs/xfs/linux-2.6/xfs_linux.h
++++ b/fs/xfs/linux-2.6/xfs_linux.h
@@ -133,6 +133,7 @@ BUFFER_FNS(PrivateStart, unwritten);
#define current_pid() (current->pid)
#define current_fsuid(cred) (current->fsuid)
@@ -7277,9 +7448,10 @@
#define NBPP PAGE_SIZE
#define DPPSHFT (PAGE_SHIFT - 9)
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_super.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_super.c
---- linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_super.c 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_super.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
+index f22e426..92d8ba6 100644
+--- a/fs/xfs/linux-2.6/xfs_super.c
++++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -161,6 +161,7 @@ xfs_revalidate_inode(
inode->i_nlink = ip->i_d.di_nlink;
inode->i_uid = ip->i_d.di_uid;
@@ -7316,9 +7488,10 @@
if (!error)
VFS_MNTUPDATE(vfsp, flags, args, error);
kmem_free(args, sizeof(*args));
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_sysctl.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_sysctl.c
---- linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_sysctl.c 2006-01-03 17:29:59 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_sysctl.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/linux-2.6/xfs_sysctl.c b/fs/xfs/linux-2.6/xfs_sysctl.c
+index a025649..6c39207 100644
+--- a/fs/xfs/linux-2.6/xfs_sysctl.c
++++ b/fs/xfs/linux-2.6/xfs_sysctl.c
@@ -58,74 +58,74 @@ xfs_stats_clear_proc_handler(
STATIC ctl_table xfs_table[] = {
{XFS_RESTRICT_CHOWN, "restrict_chown", &xfs_params.restrict_chown.val,
@@ -7408,9 +7581,10 @@
&xfs_params.stats_clear.min, &xfs_params.stats_clear.max},
#endif /* CONFIG_PROC_FS */
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_vnode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_vnode.c
---- linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_vnode.c 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_vnode.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/linux-2.6/xfs_vnode.c b/fs/xfs/linux-2.6/xfs_vnode.c
+index 260dd84..d973914 100644
+--- a/fs/xfs/linux-2.6/xfs_vnode.c
++++ b/fs/xfs/linux-2.6/xfs_vnode.c
@@ -103,6 +103,7 @@ vn_revalidate_core(
inode->i_nlink = vap->va_nlink;
inode->i_uid = vap->va_uid;
@@ -7434,9 +7608,10 @@
if (vap->va_xflags & XFS_XFLAG_APPEND)
inode->i_flags |= S_APPEND;
else
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_vnode.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_vnode.h
---- linux-2.6.16-rc5/fs/xfs/linux-2.6/xfs_vnode.h 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/linux-2.6/xfs_vnode.h 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/linux-2.6/xfs_vnode.h b/fs/xfs/linux-2.6/xfs_vnode.h
+index 0fe2419..696c62a 100644
+--- a/fs/xfs/linux-2.6/xfs_vnode.h
++++ b/fs/xfs/linux-2.6/xfs_vnode.h
@@ -386,6 +386,7 @@ typedef struct vattr {
xfs_nlink_t va_nlink; /* number of references to file */
uid_t va_uid; /* owner user id */
@@ -7462,9 +7637,50 @@
#define XFS_AT_STAT (XFS_AT_TYPE|XFS_AT_MODE|XFS_AT_UID|XFS_AT_GID|\
XFS_AT_FSID|XFS_AT_NODEID|XFS_AT_NLINK|XFS_AT_SIZE|\
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_clnt.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_clnt.h
---- linux-2.6.16-rc5/fs/xfs/xfs_clnt.h 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_clnt.h 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c
+index 6768843..b3ec736 100644
+--- a/fs/xfs/quota/xfs_qm_syscalls.c
++++ b/fs/xfs/quota/xfs_qm_syscalls.c
+@@ -215,7 +215,7 @@ xfs_qm_scall_quotaoff(
+ xfs_qoff_logitem_t *qoffstart;
+ int nculprits;
+
+- if (!force && !capable(CAP_SYS_ADMIN))
++ if (!force && !capable(CAP_SYS_ADMIN) && !vx_ccaps(VXC_QUOTA_CTL))
+ return XFS_ERROR(EPERM);
+ /*
+ * No file system can have quotas enabled on disk but not in core.
+@@ -384,7 +384,7 @@ xfs_qm_scall_trunc_qfiles(
+ int error;
+ xfs_inode_t *qip;
+
+- if (!capable(CAP_SYS_ADMIN))
++ if (!capable(CAP_SYS_ADMIN) && !vx_ccaps(VXC_QUOTA_CTL))
+ return XFS_ERROR(EPERM);
+ error = 0;
+ if (!XFS_SB_VERSION_HASQUOTA(&mp->m_sb) || flags == 0) {
+@@ -429,7 +429,7 @@ xfs_qm_scall_quotaon(
+ uint accflags;
+ __int64_t sbflags;
+
+- if (!capable(CAP_SYS_ADMIN))
++ if (!capable(CAP_SYS_ADMIN) && !vx_ccaps(VXC_QUOTA_CTL))
+ return XFS_ERROR(EPERM);
+
+ flags &= (XFS_ALL_QUOTA_ACCT | XFS_ALL_QUOTA_ENFD);
+@@ -600,7 +600,7 @@ xfs_qm_scall_setqlim(
+ int error;
+ xfs_qcnt_t hard, soft;
+
+- if (!capable(CAP_SYS_ADMIN))
++ if (!capable(CAP_SYS_ADMIN) && !vx_ccaps(VXC_QUOTA_CTL))
+ return XFS_ERROR(EPERM);
+
+ if ((newlim->d_fieldmask &
+diff --git a/fs/xfs/xfs_clnt.h b/fs/xfs/xfs_clnt.h
+index f57cc9a..6203fb4 100644
+--- a/fs/xfs/xfs_clnt.h
++++ b/fs/xfs/xfs_clnt.h
@@ -100,5 +100,7 @@ struct xfs_mount_args {
*/
#define XFSMNT2_COMPAT_IOSIZE 0x00000001 /* don't report large preferred
@@ -7473,9 +7689,10 @@
+
#endif /* __XFS_CLNT_H__ */
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_dinode.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_dinode.h
---- linux-2.6.16-rc5/fs/xfs/xfs_dinode.h 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_dinode.h 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/xfs_dinode.h b/fs/xfs/xfs_dinode.h
+index 79d0d9e..a70e0b3 100644
+--- a/fs/xfs/xfs_dinode.h
++++ b/fs/xfs/xfs_dinode.h
@@ -53,7 +53,8 @@ typedef struct xfs_dinode_core
__uint32_t di_gid; /* owner's group id */
__uint32_t di_nlink; /* number of links to file */
@@ -7512,9 +7729,10 @@
+ XFS_DIFLAG_EXTSZINHERIT | XFS_DIFLAG_BARRIER | XFS_DIFLAG_IUNLINK)
#endif /* __XFS_DINODE_H__ */
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_fs.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_fs.h
---- linux-2.6.16-rc5/fs/xfs/xfs_fs.h 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_fs.h 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h
+index 14010f1..5354048 100644
+--- a/fs/xfs/xfs_fs.h
++++ b/fs/xfs/xfs_fs.h
@@ -67,6 +67,8 @@ struct fsxattr {
#define XFS_XFLAG_NOSYMLINKS 0x00000400 /* disallow symlink creation */
#define XFS_XFLAG_EXTSIZE 0x00000800 /* extent size allocator hint */
@@ -7534,9 +7752,10 @@
__u32 bs_dmevmask; /* DMIG event mask */
__u16 bs_dmstate; /* DMIG state info */
__u16 bs_aextents; /* attribute number of extents */
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_inode.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_inode.c
---- linux-2.6.16-rc5/fs/xfs/xfs_inode.c 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_inode.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
+index 1d7f5a7..6a4089a 100644
+--- a/fs/xfs/xfs_inode.c
++++ b/fs/xfs/xfs_inode.c
@@ -52,6 +52,7 @@
#include "xfs_mac.h"
#include "xfs_acl.h"
@@ -7602,9 +7821,10 @@
ip->i_d.di_projid = prid;
memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad));
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_itable.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_itable.c
---- linux-2.6.16-rc5/fs/xfs/xfs_itable.c 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_itable.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
+index c59450e..d2a21c4 100644
+--- a/fs/xfs/xfs_itable.c
++++ b/fs/xfs/xfs_itable.c
@@ -85,6 +85,7 @@ xfs_bulkstat_one_iget(
buf->bs_mode = dic->di_mode;
buf->bs_uid = dic->di_uid;
@@ -7621,9 +7841,10 @@
buf->bs_size = INT_GET(dic->di_size, ARCH_CONVERT);
buf->bs_atime.tv_sec = INT_GET(dic->di_atime.t_sec, ARCH_CONVERT);
buf->bs_atime.tv_nsec = INT_GET(dic->di_atime.t_nsec, ARCH_CONVERT);
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_mount.h linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_mount.h
---- linux-2.6.16-rc5/fs/xfs/xfs_mount.h 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_mount.h 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
+index cd3cf96..74eec62 100644
+--- a/fs/xfs/xfs_mount.h
++++ b/fs/xfs/xfs_mount.h
@@ -412,6 +412,7 @@ typedef struct xfs_mount {
#define XFS_MOUNT_COMPAT_IOSIZE (1ULL << 22) /* don't report large preferred
* I/O size in stat() */
@@ -7632,9 +7853,10 @@
/*
* Default minimum read and write sizes.
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_vfsops.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_vfsops.c
---- linux-2.6.16-rc5/fs/xfs/xfs_vfsops.c 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_vfsops.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c
+index b6ad370..09665b7 100644
+--- a/fs/xfs/xfs_vfsops.c
++++ b/fs/xfs/xfs_vfsops.c
@@ -296,6 +296,8 @@ xfs_start_flags(
if (ap->flags2 & XFSMNT2_COMPAT_IOSIZE)
@@ -7672,9 +7894,10 @@
} else if (!strcmp(this_char, "osyncisdsync")) {
/* no-op, this is now the default */
printk("XFS: osyncisdsync is now the default, option is deprecated.\n");
-diff -NurpP --minimal linux-2.6.16-rc5/fs/xfs/xfs_vnodeops.c linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_vnodeops.c
---- linux-2.6.16-rc5/fs/xfs/xfs_vnodeops.c 2006-02-28 15:03:28 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/fs/xfs/xfs_vnodeops.c 2006-02-17 22:18:51 +0100
+diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
+index eaab355..aa90340 100644
+--- a/fs/xfs/xfs_vnodeops.c
++++ b/fs/xfs/xfs_vnodeops.c
@@ -154,6 +154,7 @@ xfs_getattr(
vap->va_mode = ip->i_d.di_mode;
vap->va_uid = ip->i_d.di_uid;
@@ -7773,9 +7996,10 @@
if (vap->va_xflags & XFS_XFLAG_APPEND)
di_flags |= XFS_DIFLAG_APPEND;
if (vap->va_xflags & XFS_XFLAG_SYNC)
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-arm/tlb.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-arm/tlb.h
---- linux-2.6.16-rc5/include/asm-arm/tlb.h 2006-01-03 17:30:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-arm/tlb.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-arm/tlb.h b/include/asm-arm/tlb.h
+index f49bfb7..1a17998 100644
+--- a/include/asm-arm/tlb.h
++++ b/include/asm-arm/tlb.h
@@ -20,6 +20,7 @@
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
@@ -7784,9 +8008,10 @@
/*
* TLB handling. This allows us to remove pages from the page
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-arm26/tlb.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-arm26/tlb.h
---- linux-2.6.16-rc5/include/asm-arm26/tlb.h 2006-01-03 17:30:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-arm26/tlb.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-arm26/tlb.h b/include/asm-arm26/tlb.h
+index 08ddd85..d730584 100644
+--- a/include/asm-arm26/tlb.h
++++ b/include/asm-arm26/tlb.h
@@ -3,6 +3,7 @@
#include <asm/pgalloc.h>
@@ -7795,9 +8020,10 @@
/*
* TLB handling. This allows us to remove pages from the page
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-arm26/unistd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-arm26/unistd.h
---- linux-2.6.16-rc5/include/asm-arm26/unistd.h 2006-01-03 17:30:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-arm26/unistd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-arm26/unistd.h b/include/asm-arm26/unistd.h
+index be4c2fb..d296fb5 100644
+--- a/include/asm-arm26/unistd.h
++++ b/include/asm-arm26/unistd.h
@@ -304,6 +304,8 @@
#define __NR_mq_getsetattr (__NR_SYSCALL_BASE+279)
#define __NR_waitid (__NR_SYSCALL_BASE+280)
@@ -7807,9 +8033,10 @@
/*
* The following SWIs are ARM private. FIXME - make appropriate for arm26
*/
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-generic/tlb.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-generic/tlb.h
---- linux-2.6.16-rc5/include/asm-generic/tlb.h 2006-01-03 17:30:02 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-generic/tlb.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
+index cdd4145..8dbedfa 100644
+--- a/include/asm-generic/tlb.h
++++ b/include/asm-generic/tlb.h
@@ -15,6 +15,7 @@
#include <linux/config.h>
@@ -7818,9 +8045,10 @@
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-i386/elf.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-i386/elf.h
---- linux-2.6.16-rc5/include/asm-i386/elf.h 2006-01-03 17:30:04 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-i386/elf.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-i386/elf.h b/include/asm-i386/elf.h
+index 4153d80..2962b84 100644
+--- a/include/asm-i386/elf.h
++++ b/include/asm-i386/elf.h
@@ -71,7 +71,7 @@ typedef struct user_fxsr_struct elf_fpxr
the loader. We need to make sure that it is out of the way of the program
that it will "exec", and that there is sufficient room for the brk. */
@@ -7830,9 +8058,10 @@
/* regs is struct pt_regs, pr_reg is elf_gregset_t (which is
now struct_user_regs, they are different) */
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-i386/page.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-i386/page.h
---- linux-2.6.16-rc5/include/asm-i386/page.h 2006-02-28 15:03:33 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-i386/page.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-i386/page.h b/include/asm-i386/page.h
+index 997ca5d..53cfb1c 100644
+--- a/include/asm-i386/page.h
++++ b/include/asm-i386/page.h
@@ -109,19 +109,15 @@ extern int page_is_ram(unsigned long pag
#endif /* __ASSEMBLY__ */
@@ -7856,9 +8085,10 @@
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET)
#define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET))
#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-i386/processor.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-i386/processor.h
---- linux-2.6.16-rc5/include/asm-i386/processor.h 2006-02-28 15:03:33 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-i386/processor.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h
+index feca5d9..bb5f709 100644
+--- a/include/asm-i386/processor.h
++++ b/include/asm-i386/processor.h
@@ -316,9 +316,10 @@ extern unsigned int mca_pentium_flag;
extern int bootloader_type;
@@ -7872,9 +8102,10 @@
/* This decides where the kernel will search for a free chunk of vm
* space during mmap's.
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-ia64/tlb.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-ia64/tlb.h
---- linux-2.6.16-rc5/include/asm-ia64/tlb.h 2006-01-03 17:30:05 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-ia64/tlb.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-ia64/tlb.h b/include/asm-ia64/tlb.h
+index 834370b..e2c6e18 100644
+--- a/include/asm-ia64/tlb.h
++++ b/include/asm-ia64/tlb.h
@@ -41,6 +41,7 @@
#include <linux/mm.h>
#include <linux/pagemap.h>
@@ -7883,9 +8114,10 @@
#include <asm/pgalloc.h>
#include <asm/processor.h>
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-powerpc/unistd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-powerpc/unistd.h
---- linux-2.6.16-rc5/include/asm-powerpc/unistd.h 2006-02-28 15:03:37 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-powerpc/unistd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h
+index 3555699..0333931 100644
+--- a/include/asm-powerpc/unistd.h
++++ b/include/asm-powerpc/unistd.h
@@ -275,7 +275,7 @@
#endif
#define __NR_rtas 255
@@ -7895,9 +8127,10 @@
/* 258 currently unused */
#define __NR_mbind 259
#define __NR_get_mempolicy 260
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-s390/unistd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-s390/unistd.h
---- linux-2.6.16-rc5/include/asm-s390/unistd.h 2006-02-28 15:03:38 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-s390/unistd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-s390/unistd.h b/include/asm-s390/unistd.h
+index 657d582..c9371e9 100644
+--- a/include/asm-s390/unistd.h
++++ b/include/asm-s390/unistd.h
@@ -255,7 +255,7 @@
#define __NR_clock_gettime (__NR_timer_create+6)
#define __NR_clock_getres (__NR_timer_create+7)
@@ -7907,9 +8140,10 @@
#define __NR_fadvise64_64 264
#define __NR_statfs64 265
#define __NR_fstatfs64 266
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-sparc/unistd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-sparc/unistd.h
---- linux-2.6.16-rc5/include/asm-sparc/unistd.h 2006-02-28 15:03:38 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-sparc/unistd.h 2006-02-18 15:22:54 +0100
+diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h
+index 64ec640..12ef6c0 100644
+--- a/include/asm-sparc/unistd.h
++++ b/include/asm-sparc/unistd.h
@@ -283,7 +283,7 @@
#define __NR_timer_getoverrun 264
#define __NR_timer_delete 265
@@ -7919,9 +8153,10 @@
#define __NR_io_setup 268
#define __NR_io_destroy 269
#define __NR_io_submit 270
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-sparc64/tlb.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-sparc64/tlb.h
---- linux-2.6.16-rc5/include/asm-sparc64/tlb.h 2006-01-03 17:30:08 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-sparc64/tlb.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-sparc64/tlb.h b/include/asm-sparc64/tlb.h
+index 61c0188..41a5d1c 100644
+--- a/include/asm-sparc64/tlb.h
++++ b/include/asm-sparc64/tlb.h
@@ -3,6 +3,7 @@
#include <linux/config.h>
@@ -7930,9 +8165,10 @@
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>
#include <asm/mmu_context.h>
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-sparc64/unistd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-sparc64/unistd.h
---- linux-2.6.16-rc5/include/asm-sparc64/unistd.h 2006-02-28 15:03:39 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-sparc64/unistd.h 2006-02-18 15:22:54 +0100
+diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h
+index a284986..13f7e2f 100644
+--- a/include/asm-sparc64/unistd.h
++++ b/include/asm-sparc64/unistd.h
@@ -285,7 +285,7 @@
#define __NR_timer_getoverrun 264
#define __NR_timer_delete 265
@@ -7942,9 +8178,10 @@
#define __NR_io_setup 268
#define __NR_io_destroy 269
#define __NR_io_submit 270
-diff -NurpP --minimal linux-2.6.16-rc5/include/asm-x86_64/unistd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-x86_64/unistd.h
---- linux-2.6.16-rc5/include/asm-x86_64/unistd.h 2006-02-28 15:03:39 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/asm-x86_64/unistd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/asm-x86_64/unistd.h b/include/asm-x86_64/unistd.h
+index da0341c..732a094 100644
+--- a/include/asm-x86_64/unistd.h
++++ b/include/asm-x86_64/unistd.h
@@ -532,7 +532,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
#define __NR_utimes 235
__SYSCALL(__NR_utimes, sys_utimes)
@@ -7954,9 +8191,10 @@
#define __NR_mbind 237
__SYSCALL(__NR_mbind, sys_mbind)
#define __NR_set_mempolicy 238
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/capability.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/capability.h
---- linux-2.6.16-rc5/include/linux/capability.h 2006-02-28 15:03:40 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/capability.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/capability.h b/include/linux/capability.h
+index 5a23ce7..34918bf 100644
+--- a/include/linux/capability.h
++++ b/include/linux/capability.h
@@ -235,6 +235,7 @@ typedef __u32 kernel_cap_t;
arbitrary SCSI commands */
/* Allow setting encryption key on loopback filesystem */
@@ -7977,9 +8215,10 @@
#ifdef __KERNEL__
/*
* Bounding set
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/devpts_fs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/devpts_fs.h
---- linux-2.6.16-rc5/include/linux/devpts_fs.h 2004-08-14 12:55:59 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/devpts_fs.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/devpts_fs.h b/include/linux/devpts_fs.h
+index b672ddc..3ca2799 100644
+--- a/include/linux/devpts_fs.h
++++ b/include/linux/devpts_fs.h
@@ -30,5 +30,7 @@ static inline void devpts_pty_kill(int n
#endif
@@ -7988,9 +8227,10 @@
+
#endif /* _LINUX_DEVPTS_FS_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/ext2_fs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/ext2_fs.h
---- linux-2.6.16-rc5/include/linux/ext2_fs.h 2005-10-28 20:49:54 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/ext2_fs.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h
+index f7bd1c7..d953a90 100644
+--- a/include/linux/ext2_fs.h
++++ b/include/linux/ext2_fs.h
@@ -192,10 +192,17 @@ struct ext2_group_desc
#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */
#define EXT2_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
@@ -8038,9 +8278,10 @@
#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/ext3_fs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/ext3_fs.h
---- linux-2.6.16-rc5/include/linux/ext3_fs.h 2005-10-28 20:49:54 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/ext3_fs.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
+index c0272d7..af52318 100644
+--- a/include/linux/ext3_fs.h
++++ b/include/linux/ext3_fs.h
@@ -185,10 +185,20 @@ struct ext3_group_desc
#define EXT3_NOTAIL_FL 0x00008000 /* file tail should not be merged */
#define EXT3_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
@@ -8095,10 +8336,11 @@
extern void ext3_read_inode (struct inode *);
extern int ext3_write_inode (struct inode *, int);
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/fs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/fs.h
---- linux-2.6.16-rc5/include/linux/fs.h 2006-02-28 15:03:40 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/fs.h 2006-02-17 22:18:51 +0100
-@@ -108,6 +108,8 @@ extern int dir_notify_enable;
+diff --git a/include/linux/fs.h b/include/linux/fs.h
+index 128d008..0e48413 100644
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
+@@ -109,6 +109,8 @@ extern int dir_notify_enable;
#define MS_PRIVATE (1<<18) /* change to private */
#define MS_SLAVE (1<<19) /* change to slave */
#define MS_SHARED (1<<20) /* change to shared */
@@ -8107,7 +8349,7 @@
#define MS_ACTIVE (1<<30)
#define MS_NOUSER (1<<31)
-@@ -134,6 +136,8 @@ extern int dir_notify_enable;
+@@ -135,6 +137,8 @@ extern int dir_notify_enable;
#define S_NOCMTIME 128 /* Do not update file c/mtime */
#define S_SWAPFILE 256 /* Do not truncate: swapon got its bmaps */
#define S_PRIVATE 512 /* Inode is fs-internal */
@@ -8116,7 +8358,7 @@
/*
* Note that nosuid etc flags are inode-specific: setting some file-system
-@@ -150,18 +154,22 @@ extern int dir_notify_enable;
+@@ -151,18 +155,22 @@ extern int dir_notify_enable;
*/
#define __IS_FLG(inode,flg) ((inode)->i_sb->s_flags & (flg))
@@ -8140,7 +8382,7 @@
#define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD)
#define IS_NOCMTIME(inode) ((inode)->i_flags & S_NOCMTIME)
#define IS_SWAPFILE(inode) ((inode)->i_flags & S_SWAPFILE)
-@@ -264,6 +272,7 @@ typedef void (dio_iodone_t)(struct kiocb
+@@ -265,6 +273,7 @@ typedef void (dio_iodone_t)(struct kiocb
#define ATTR_KILL_SUID 2048
#define ATTR_KILL_SGID 4096
#define ATTR_FILE 8192
@@ -8148,7 +8390,7 @@
/*
* This is the Inode Attributes structure, used for notify_change(). It
-@@ -279,6 +288,7 @@ struct iattr {
+@@ -280,6 +289,7 @@ struct iattr {
umode_t ia_mode;
uid_t ia_uid;
gid_t ia_gid;
@@ -8156,7 +8398,7 @@
loff_t ia_size;
struct timespec ia_atime;
struct timespec ia_mtime;
-@@ -292,6 +302,9 @@ struct iattr {
+@@ -293,6 +303,9 @@ struct iattr {
struct file *ia_file;
};
@@ -8166,7 +8408,7 @@
/*
* Includes for diskquotas.
*/
-@@ -470,6 +483,7 @@ struct inode {
+@@ -471,6 +484,7 @@ struct inode {
unsigned int i_nlink;
uid_t i_uid;
gid_t i_gid;
@@ -8174,7 +8416,7 @@
dev_t i_rdev;
loff_t i_size;
struct timespec i_atime;
-@@ -632,6 +646,7 @@ struct file {
+@@ -633,6 +647,7 @@ struct file {
struct fown_struct f_owner;
unsigned int f_uid, f_gid;
struct file_ra_state f_ra;
@@ -8182,7 +8424,7 @@
unsigned long f_version;
void *f_security;
-@@ -711,6 +726,7 @@ struct file_lock {
+@@ -712,6 +727,7 @@ struct file_lock {
unsigned char fl_type;
loff_t fl_start;
loff_t fl_end;
@@ -8190,7 +8432,7 @@
struct fasync_struct * fl_fasync; /* for lease break notifications */
unsigned long fl_break_time; /* for nonblocking lease breaks */
-@@ -903,12 +919,12 @@ static inline void unlock_super(struct s
+@@ -904,12 +920,12 @@ static inline void unlock_super(struct s
*/
extern int vfs_permission(struct nameidata *, int);
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
@@ -8209,7 +8451,7 @@
extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *);
/*
-@@ -1048,6 +1064,7 @@ struct inode_operations {
+@@ -1049,6 +1065,7 @@ struct inode_operations {
ssize_t (*listxattr) (struct dentry *, char *, size_t);
int (*removexattr) (struct dentry *, const char *);
void (*truncate_range)(struct inode *, loff_t, loff_t);
@@ -8225,9 +8467,10 @@
extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *);
extern int simple_statfs(struct super_block *, struct kstatfs *);
extern int simple_link(struct dentry *, struct inode *, struct dentry *);
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/init_task.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/init_task.h
---- linux-2.6.16-rc5/include/linux/init_task.h 2006-01-03 17:30:09 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/init_task.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/init_task.h b/include/linux/init_task.h
+index dcfd2ec..653f9e1 100644
+--- a/include/linux/init_task.h
++++ b/include/linux/init_task.h
@@ -121,6 +121,10 @@ extern struct group_info init_groups;
.journal_info = NULL, \
.cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \
@@ -8239,9 +8482,10 @@
}
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/ipc.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/ipc.h
---- linux-2.6.16-rc5/include/linux/ipc.h 2004-08-14 12:54:46 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/ipc.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/ipc.h b/include/linux/ipc.h
+index b291189..079c2fe 100644
+--- a/include/linux/ipc.h
++++ b/include/linux/ipc.h
@@ -66,6 +66,7 @@ struct kern_ipc_perm
mode_t mode;
unsigned long seq;
@@ -8250,9 +8494,10 @@
};
#endif /* __KERNEL__ */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/kernel.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/kernel.h
---- linux-2.6.16-rc5/include/linux/kernel.h 2006-02-28 15:03:40 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/kernel.h 2006-02-18 15:22:55 +0100
+diff --git a/include/linux/kernel.h b/include/linux/kernel.h
+index 3b507bf..d1c9dea 100644
+--- a/include/linux/kernel.h
++++ b/include/linux/kernel.h
@@ -17,6 +17,7 @@
#include <asm/bug.h>
@@ -8261,9 +8506,10 @@
#define INT_MAX ((int)(~0U>>1))
#define INT_MIN (-INT_MAX - 1)
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/major.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/major.h
---- linux-2.6.16-rc5/include/linux/major.h 2005-08-29 22:25:41 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/major.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/major.h b/include/linux/major.h
+index e36a467..5cc9d84 100644
+--- a/include/linux/major.h
++++ b/include/linux/major.h
@@ -15,6 +15,7 @@
#define HD_MAJOR IDE0_MAJOR
#define PTY_SLAVE_MAJOR 3
@@ -8272,9 +8518,10 @@
#define TTYAUX_MAJOR 5
#define LP_MAJOR 6
#define VCS_MAJOR 7
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/mount.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/mount.h
---- linux-2.6.16-rc5/include/linux/mount.h 2006-02-28 15:03:40 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/mount.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/mount.h b/include/linux/mount.h
+index b7472ae..a708e36 100644
+--- a/include/linux/mount.h
++++ b/include/linux/mount.h
@@ -22,10 +22,14 @@
#define MNT_NOEXEC 0x04
#define MNT_NOATIME 0x08
@@ -8298,9 +8545,10 @@
};
static inline struct vfsmount *mntget(struct vfsmount *mnt)
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/namespace.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/namespace.h
---- linux-2.6.16-rc5/include/linux/namespace.h 2006-02-28 15:03:40 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/namespace.h 2006-02-17 22:36:11 +0100
+diff --git a/include/linux/namespace.h b/include/linux/namespace.h
+index 3abc8e3..4e234d8 100644
+--- a/include/linux/namespace.h
++++ b/include/linux/namespace.h
@@ -16,6 +16,7 @@ struct namespace {
extern int copy_namespace(int, struct task_struct *);
extern void __put_namespace(struct namespace *namespace);
@@ -8309,9 +8557,10 @@
static inline void put_namespace(struct namespace *namespace)
{
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/net.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/net.h
---- linux-2.6.16-rc5/include/linux/net.h 2006-02-28 15:03:40 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/net.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/net.h b/include/linux/net.h
+index 28195a2..3a89224 100644
+--- a/include/linux/net.h
++++ b/include/linux/net.h
@@ -62,6 +62,7 @@ typedef enum {
#define SOCK_ASYNC_WAITDATA 1
#define SOCK_NOSPACE 2
@@ -8320,9 +8569,10 @@
#ifndef ARCH_HAS_SOCKET_TYPES
/**
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/nfs_mount.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/nfs_mount.h
---- linux-2.6.16-rc5/include/linux/nfs_mount.h 2005-08-29 22:25:42 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/nfs_mount.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h
+index 659c754..b1531a0 100644
+--- a/include/linux/nfs_mount.h
++++ b/include/linux/nfs_mount.h
@@ -61,6 +61,7 @@ struct nfs_mount_data {
#define NFS_MOUNT_NOACL 0x0800 /* 4 */
#define NFS_MOUNT_STRICTLOCK 0x1000 /* reserved for NFSv4 */
@@ -8331,9 +8581,10 @@
#define NFS_MOUNT_FLAGMASK 0xFFFF
#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/percpu.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/percpu.h
---- linux-2.6.16-rc5/include/linux/percpu.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/percpu.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/percpu.h b/include/linux/percpu.h
+index cb9039a..e436dbd 100644
+--- a/include/linux/percpu.h
++++ b/include/linux/percpu.h
@@ -8,7 +8,7 @@
/* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */
@@ -8343,9 +8594,10 @@
#endif
/* Must be an lvalue. */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/proc_fs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/proc_fs.h
---- linux-2.6.16-rc5/include/linux/proc_fs.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/proc_fs.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
+index aa6322d..c892f9b 100644
+--- a/include/linux/proc_fs.h
++++ b/include/linux/proc_fs.h
@@ -55,6 +55,7 @@ struct proc_dir_entry {
nlink_t nlink;
uid_t uid;
@@ -8366,9 +8618,10 @@
} op;
struct proc_dir_entry *pde;
struct inode vfs_inode;
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/reiserfs_fs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/reiserfs_fs.h
---- linux-2.6.16-rc5/include/linux/reiserfs_fs.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/reiserfs_fs.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h
+index dad78ce..6213f2f 100644
+--- a/include/linux/reiserfs_fs.h
++++ b/include/linux/reiserfs_fs.h
@@ -829,6 +829,18 @@ struct stat_data_v1 {
#define REISERFS_COMPR_FL EXT2_COMPR_FL
#define REISERFS_NOTAIL_FL EXT2_NOTAIL_FL
@@ -8396,9 +8649,10 @@
/* namei.c */
void set_de_name_and_namelen(struct reiserfs_dir_entry *de);
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/reiserfs_fs_sb.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/reiserfs_fs_sb.h
---- linux-2.6.16-rc5/include/linux/reiserfs_fs_sb.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/reiserfs_fs_sb.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h
+index 31b4c0b..3204ea0 100644
+--- a/include/linux/reiserfs_fs_sb.h
++++ b/include/linux/reiserfs_fs_sb.h
@@ -456,6 +456,7 @@ enum reiserfs_mount_options {
REISERFS_POSIXACL,
REISERFS_BARRIER_NONE,
@@ -8407,9 +8661,10 @@
/* Actions on error */
REISERFS_ERROR_PANIC,
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/sched.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sched.h
---- linux-2.6.16-rc5/include/linux/sched.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sched.h 2006-02-18 15:22:55 +0100
+diff --git a/include/linux/sched.h b/include/linux/sched.h
+index 62e6314..e02d5dd 100644
+--- a/include/linux/sched.h
++++ b/include/linux/sched.h
@@ -15,6 +15,7 @@
#include <linux/cpumask.h>
#include <linux/errno.h>
@@ -8467,7 +8722,7 @@
#define get_mm_rss(mm) \
(get_mm_counter(mm, file_rss) + get_mm_counter(mm, anon_rss))
#define update_hiwater_rss(mm) do { \
-@@ -335,6 +340,7 @@ struct mm_struct {
+@@ -336,6 +341,7 @@ struct mm_struct {
/* Architecture-specific MM context */
mm_context_t context;
@@ -8475,7 +8730,7 @@
/* Token based thrashing protection. */
unsigned long swap_token_time;
-@@ -513,9 +519,10 @@ struct user_struct {
+@@ -514,9 +520,10 @@ struct user_struct {
/* Hash table maintenance information */
struct list_head uidhash_list;
uid_t uid;
@@ -8487,7 +8742,7 @@
extern struct user_struct root_user;
#define INIT_USER (&root_user)
-@@ -817,6 +824,14 @@ struct task_struct {
+@@ -818,6 +825,14 @@ struct task_struct {
void *security;
struct audit_context *audit_context;
@@ -8524,9 +8779,10 @@
static inline struct user_struct *get_uid(struct user_struct *u)
{
atomic_inc(&u->__count);
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/shmem_fs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/shmem_fs.h
---- linux-2.6.16-rc5/include/linux/shmem_fs.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/shmem_fs.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h
+index c057f0b..e4b2803 100644
+--- a/include/linux/shmem_fs.h
++++ b/include/linux/shmem_fs.h
@@ -8,6 +8,9 @@
#define SHMEM_NR_DIRECT 16
@@ -8537,9 +8793,10 @@
struct shmem_inode_info {
spinlock_t lock;
unsigned long flags;
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/stat.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/stat.h
---- linux-2.6.16-rc5/include/linux/stat.h 2004-08-14 12:55:10 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/stat.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/stat.h b/include/linux/stat.h
+index 8ff2a12..289a968 100644
+--- a/include/linux/stat.h
++++ b/include/linux/stat.h
@@ -63,6 +63,7 @@ struct kstat {
unsigned int nlink;
uid_t uid;
@@ -8548,9 +8805,10 @@
dev_t rdev;
loff_t size;
struct timespec atime;
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/sunrpc/auth.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sunrpc/auth.h
---- linux-2.6.16-rc5/include/linux/sunrpc/auth.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sunrpc/auth.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h
+index be4772e..b27c818 100644
+--- a/include/linux/sunrpc/auth.h
++++ b/include/linux/sunrpc/auth.h
@@ -28,6 +28,7 @@
struct auth_cred {
uid_t uid;
@@ -8559,9 +8817,10 @@
struct group_info *group_info;
};
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/sunrpc/clnt.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sunrpc/clnt.h
---- linux-2.6.16-rc5/include/linux/sunrpc/clnt.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sunrpc/clnt.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h
+index f147e6b..2c892da 100644
+--- a/include/linux/sunrpc/clnt.h
++++ b/include/linux/sunrpc/clnt.h
@@ -51,7 +51,8 @@ struct rpc_clnt {
cl_intr : 1,/* interruptible */
cl_autobind : 1,/* use getport() */
@@ -8572,18 +8831,19 @@
struct rpc_rtt * cl_rtt; /* RTO estimator data */
struct rpc_portmap * cl_pmap; /* port mapping */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/sysctl.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sysctl.h
---- linux-2.6.16-rc5/include/linux/sysctl.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sysctl.h 2006-02-28 15:22:49 +0100
-@@ -147,6 +147,7 @@ enum
- KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */
+diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
+index bac61db..7e42ca6 100644
+--- a/include/linux/sysctl.h
++++ b/include/linux/sysctl.h
+@@ -148,6 +148,7 @@ enum
KERN_SPIN_RETRY=70, /* int: number of spinlock retries */
KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */
-+ KERN_VSHELPER=72, /* string: path to vshelper policy agent */
+ KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */
++ KERN_VSHELPER=73, /* string: path to vshelper policy agent */
};
-@@ -881,6 +882,9 @@ typedef int ctl_handler (ctl_table *tabl
+@@ -882,6 +883,9 @@ typedef int ctl_handler (ctl_table *tabl
typedef int proc_handler (ctl_table *ctl, int write, struct file * filp,
void __user *buffer, size_t *lenp, loff_t *ppos);
@@ -8593,7 +8853,7 @@
extern int proc_dostring(ctl_table *, int, struct file *,
void __user *, size_t *, loff_t *);
extern int proc_dointvec(ctl_table *, int, struct file *,
-@@ -962,6 +966,7 @@ struct ctl_table
+@@ -963,6 +967,7 @@ struct ctl_table
mode_t mode;
ctl_table *child;
proc_handler *proc_handler; /* Callback for text formatting */
@@ -8601,9 +8861,10 @@
ctl_handler *strategy; /* Callback function for all r/w */
struct proc_dir_entry *de; /* /proc control block */
void *extra1;
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/sysfs.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sysfs.h
---- linux-2.6.16-rc5/include/linux/sysfs.h 2005-08-29 22:25:42 +0200
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/sysfs.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
+index 392da5a..e738d80 100644
+--- a/include/linux/sysfs.h
++++ b/include/linux/sysfs.h
@@ -12,6 +12,8 @@
#include <asm/atomic.h>
@@ -8613,9 +8874,10 @@
struct kobject;
struct module;
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/types.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/types.h
---- linux-2.6.16-rc5/include/linux/types.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/types.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/types.h b/include/linux/types.h
+index 54ae2d5..08848a1 100644
+--- a/include/linux/types.h
++++ b/include/linux/types.h
@@ -38,6 +38,8 @@ typedef __kernel_uid32_t uid_t;
typedef __kernel_gid32_t gid_t;
typedef __kernel_uid16_t uid16_t;
@@ -8625,9 +8887,11 @@
#ifdef CONFIG_UID16
/* This is defined by include/asm-{arch}/posix_types.h */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vroot.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vroot.h
---- linux-2.6.16-rc5/include/linux/vroot.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vroot.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vroot.h b/include/linux/vroot.h
+new file mode 100644
+index 0000000..4eb6d0d
+--- /dev/null
++++ b/include/linux/vroot.h
@@ -0,0 +1,51 @@
+
+/*
@@ -8680,9 +8944,11 @@
+#define VROOT_CLR_DEV 0x5601
+
+#endif /* _LINUX_VROOT_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_base.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_base.h
---- linux-2.6.16-rc5/include/linux/vs_base.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_base.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vs_base.h b/include/linux/vs_base.h
+new file mode 100644
+index 0000000..fa1b85e
+--- /dev/null
++++ b/include/linux/vs_base.h
@@ -0,0 +1,103 @@
+#ifndef _VX_VS_BASE_H
+#define _VX_VS_BASE_H
@@ -8701,7 +8967,7 @@
+
+/*
+ * check current context for ADMIN/WATCH and
-+ * optionally agains supplied argument
++ * optionally against supplied argument
+ */
+static inline int __vx_check(xid_t cid, xid_t id, unsigned int mode)
+{
@@ -8787,10 +9053,12 @@
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_context.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_context.h
---- linux-2.6.16-rc5/include/linux/vs_context.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_context.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,170 @@
+diff --git a/include/linux/vs_context.h b/include/linux/vs_context.h
+new file mode 100644
+index 0000000..24bb245
+--- /dev/null
++++ b/include/linux/vs_context.h
+@@ -0,0 +1,198 @@
+#ifndef _VX_VS_CONTEXT_H
+#define _VX_VS_CONTEXT_H
+
@@ -8798,10 +9066,10 @@
+#include "vserver/debug.h"
+
+
-+#define get_vx_info(i) __get_vx_info(i,__FILE__,__LINE__)
++#define get_vx_info(i) __get_vx_info(i,__FILE__,__LINE__,__HERE__)
+
+static inline struct vx_info *__get_vx_info(struct vx_info *vxi,
-+ const char *_file, int _line)
++ const char *_file, int _line, void *_here)
+{
+ if (!vxi)
+ return NULL;
@@ -8809,7 +9077,7 @@
+ vxlprintk(VXD_CBIT(xid, 2), "get_vx_info(%p[#%d.%d])",
+ vxi, vxi?vxi->vx_id:0, vxi?atomic_read(&vxi->vx_usecnt):0,
+ _file, _line);
-+ vxh_get_vx_info(vxi);
++ __vxh_get_vx_info(vxi, _here);
+
+ atomic_inc(&vxi->vx_usecnt);
+ return vxi;
@@ -8818,10 +9086,10 @@
+
+extern void free_vx_info(struct vx_info *);
+
-+#define put_vx_info(i) __put_vx_info(i,__FILE__,__LINE__)
++#define put_vx_info(i) __put_vx_info(i,__FILE__,__LINE__,__HERE__)
+
+static inline void __put_vx_info(struct vx_info *vxi,
-+ const char *_file, int _line)
++ const char *_file, int _line, void *_here)
+{
+ if (!vxi)
+ return;
@@ -8829,17 +9097,17 @@
+ vxlprintk(VXD_CBIT(xid, 2), "put_vx_info(%p[#%d.%d])",
+ vxi, vxi?vxi->vx_id:0, vxi?atomic_read(&vxi->vx_usecnt):0,
+ _file, _line);
-+ vxh_put_vx_info(vxi);
++ __vxh_put_vx_info(vxi, _here);
+
+ if (atomic_dec_and_test(&vxi->vx_usecnt))
+ free_vx_info(vxi);
+}
+
+
-+#define init_vx_info(p,i) __init_vx_info(p,i,__FILE__,__LINE__)
++#define init_vx_info(p,i) __init_vx_info(p,i,__FILE__,__LINE__,__HERE__)
+
+static inline void __init_vx_info(struct vx_info **vxp, struct vx_info *vxi,
-+ const char *_file, int _line)
++ const char *_file, int _line, void *_here)
+{
+ if (vxi) {
+ vxlprintk(VXD_CBIT(xid, 3),
@@ -8847,7 +9115,7 @@
+ vxi, vxi?vxi->vx_id:0,
+ vxi?atomic_read(&vxi->vx_usecnt):0,
+ _file, _line);
-+ vxh_init_vx_info(vxi, vxp);
++ __vxh_init_vx_info(vxi, vxp, _here);
+
+ atomic_inc(&vxi->vx_usecnt);
+ }
@@ -8855,10 +9123,10 @@
+}
+
+
-+#define set_vx_info(p,i) __set_vx_info(p,i,__FILE__,__LINE__)
++#define set_vx_info(p,i) __set_vx_info(p,i,__FILE__,__LINE__,__HERE__)
+
+static inline void __set_vx_info(struct vx_info **vxp, struct vx_info *vxi,
-+ const char *_file, int _line)
++ const char *_file, int _line, void *_here)
+{
+ struct vx_info *vxo;
+
@@ -8869,7 +9137,7 @@
+ vxi, vxi?vxi->vx_id:0,
+ vxi?atomic_read(&vxi->vx_usecnt):0,
+ _file, _line);
-+ vxh_set_vx_info(vxi, vxp);
++ __vxh_set_vx_info(vxi, vxp, _here);
+
+ atomic_inc(&vxi->vx_usecnt);
+ vxo = xchg(vxp, vxi);
@@ -8877,10 +9145,10 @@
+}
+
+
-+#define clr_vx_info(p) __clr_vx_info(p,__FILE__,__LINE__)
++#define clr_vx_info(p) __clr_vx_info(p,__FILE__,__LINE__,__HERE__)
+
+static inline void __clr_vx_info(struct vx_info **vxp,
-+ const char *_file, int _line)
++ const char *_file, int _line, void *_here)
+{
+ struct vx_info *vxo;
+
@@ -8892,24 +9160,26 @@
+ vxo, vxo?vxo->vx_id:0,
+ vxo?atomic_read(&vxo->vx_usecnt):0,
+ _file, _line);
-+ vxh_clr_vx_info(vxo, vxp);
++ __vxh_clr_vx_info(vxo, vxp, _here);
+
+ if (atomic_dec_and_test(&vxo->vx_usecnt))
+ free_vx_info(vxo);
+}
+
+
-+#define claim_vx_info(v,p) __claim_vx_info(v,p,__FILE__,__LINE__)
++#define claim_vx_info(v,p) \
++ __claim_vx_info(v,p,__FILE__,__LINE__,__HERE__)
+
+static inline void __claim_vx_info(struct vx_info *vxi,
-+ struct task_struct *task, const char *_file, int _line)
++ struct task_struct *task,
++ const char *_file, int _line, void *_here)
+{
+ vxlprintk(VXD_CBIT(xid, 3), "claim_vx_info(%p[#%d.%d.%d]) %p",
+ vxi, vxi?vxi->vx_id:0,
+ vxi?atomic_read(&vxi->vx_usecnt):0,
+ vxi?atomic_read(&vxi->vx_tasks):0,
+ task, _file, _line);
-+ vxh_claim_vx_info(vxi, task);
++ __vxh_claim_vx_info(vxi, task, _here);
+
+ atomic_inc(&vxi->vx_tasks);
+}
@@ -8917,17 +9187,19 @@
+
+extern void unhash_vx_info(struct vx_info *);
+
-+#define release_vx_info(v,p) __release_vx_info(v,p,__FILE__,__LINE__)
++#define release_vx_info(v,p) \
++ __release_vx_info(v,p,__FILE__,__LINE__,__HERE__)
+
+static inline void __release_vx_info(struct vx_info *vxi,
-+ struct task_struct *task, const char *_file, int _line)
++ struct task_struct *task,
++ const char *_file, int _line, void *_here)
+{
+ vxlprintk(VXD_CBIT(xid, 3), "release_vx_info(%p[#%d.%d.%d]) %p",
+ vxi, vxi?vxi->vx_id:0,
+ vxi?atomic_read(&vxi->vx_usecnt):0,
+ vxi?atomic_read(&vxi->vx_tasks):0,
+ task, _file, _line);
-+ vxh_release_vx_info(vxi, task);
++ __vxh_release_vx_info(vxi, task, _here);
+
+ might_sleep();
+
@@ -8936,17 +9208,18 @@
+}
+
+
-+#define task_get_vx_info(p) __task_get_vx_info(p,__FILE__,__LINE__)
++#define task_get_vx_info(p) \
++ __task_get_vx_info(p,__FILE__,__LINE__,__HERE__)
+
-+static __inline__ struct vx_info *__task_get_vx_info(struct task_struct *p,
-+ const char *_file, int _line)
++static inline struct vx_info *__task_get_vx_info(struct task_struct *p,
++ const char *_file, int _line, void *_here)
+{
+ struct vx_info *vxi;
+
+ task_lock(p);
+ vxlprintk(VXD_CBIT(xid, 5), "task_get_vx_info(%p)",
+ p, _file, _line);
-+ vxi = __get_vx_info(p->vx_info, _file, _line);
++ vxi = __get_vx_info(p->vx_info, _file, _line, _here);
+ task_unlock(p);
+ return vxi;
+}
@@ -8958,12 +9231,37 @@
+ wake_up_interruptible(&vxi->vx_wait);
+}
+
++extern void exit_vx_info(struct task_struct *);
++
++static inline
++struct task_struct *vx_child_reaper(struct task_struct *p)
++{
++ struct vx_info *vxi = p->vx_info;
++ struct task_struct *reaper = child_reaper;
++
++ if (!vxi)
++ goto out;
++
++ BUG_ON(!p->vx_info->vx_reaper);
++
++ /* child reaper for the guest reaper */
++ if (vxi->vx_reaper == p)
++ goto out;
++
++ reaper = vxi->vx_reaper;
++out:
++ return reaper;
++}
++
++
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_cvirt.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_cvirt.h
---- linux-2.6.16-rc5/include/linux/vs_cvirt.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_cvirt.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vs_cvirt.h b/include/linux/vs_cvirt.h
+new file mode 100644
+index 0000000..0901e73
+--- /dev/null
++++ b/include/linux/vs_cvirt.h
@@ -0,0 +1,108 @@
+#ifndef _VX_VS_CVIRT_H
+#define _VX_VS_CVIRT_H
@@ -9073,9 +9371,11 @@
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_dlimit.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_dlimit.h
---- linux-2.6.16-rc5/include/linux/vs_dlimit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_dlimit.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vs_dlimit.h b/include/linux/vs_dlimit.h
+new file mode 100644
+index 0000000..674262d
+--- /dev/null
++++ b/include/linux/vs_dlimit.h
@@ -0,0 +1,213 @@
+#ifndef _VX_VS_DLIMIT_H
+#define _VX_VS_DLIMIT_H
@@ -9290,9 +9590,11 @@
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_limit.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_limit.h
---- linux-2.6.16-rc5/include/linux/vs_limit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_limit.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vs_limit.h b/include/linux/vs_limit.h
+new file mode 100644
+index 0000000..d1304bd
+--- /dev/null
++++ b/include/linux/vs_limit.h
@@ -0,0 +1,107 @@
+#ifndef _VX_VS_LIMIT_H
+#define _VX_VS_LIMIT_H
@@ -9401,9 +9703,11 @@
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_memory.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_memory.h
---- linux-2.6.16-rc5/include/linux/vs_memory.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_memory.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vs_memory.h b/include/linux/vs_memory.h
+new file mode 100644
+index 0000000..b19afb0
+--- /dev/null
++++ b/include/linux/vs_memory.h
@@ -0,0 +1,108 @@
+#ifndef _VX_VS_MEMORY_H
+#define _VX_VS_MEMORY_H
@@ -9513,10 +9817,12 @@
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_network.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_network.h
---- linux-2.6.16-rc5/include/linux/vs_network.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_network.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,209 @@
+diff --git a/include/linux/vs_network.h b/include/linux/vs_network.h
+new file mode 100644
+index 0000000..28fa781
+--- /dev/null
++++ b/include/linux/vs_network.h
+@@ -0,0 +1,215 @@
+#ifndef _NX_VS_NETWORK_H
+#define _NX_VS_NETWORK_H
+
@@ -9722,13 +10028,21 @@
+ return 0;
+}
+
++static inline void exit_nx_info(struct task_struct *p)
++{
++ if (p->nx_info)
++ release_nx_info(p->nx_info, p);
++}
++
+
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_sched.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_sched.h
---- linux-2.6.16-rc5/include/linux/vs_sched.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_sched.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vs_sched.h b/include/linux/vs_sched.h
+new file mode 100644
+index 0000000..fd345f7
+--- /dev/null
++++ b/include/linux/vs_sched.h
@@ -0,0 +1,93 @@
+#ifndef _VX_VS_SCHED_H
+#define _VX_VS_SCHED_H
@@ -9823,9 +10137,11 @@
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vs_socket.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_socket.h
---- linux-2.6.16-rc5/include/linux/vs_socket.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vs_socket.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vs_socket.h b/include/linux/vs_socket.h
+new file mode 100644
+index 0000000..9173bfe
+--- /dev/null
++++ b/include/linux/vs_socket.h
@@ -0,0 +1,57 @@
+#ifndef _VX_VS_SOCKET_H
+#define _VX_VS_SOCKET_H
@@ -9884,10 +10200,12 @@
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/context.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/context.h
---- linux-2.6.16-rc5/include/linux/vserver/context.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/context.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,162 @@
+diff --git a/include/linux/vserver/context.h b/include/linux/vserver/context.h
+new file mode 100644
+index 0000000..24c7a93
+--- /dev/null
++++ b/include/linux/vserver/context.h
+@@ -0,0 +1,170 @@
+#ifndef _VX_CONTEXT_H
+#define _VX_CONTEXT_H
+
@@ -9927,7 +10245,9 @@
+#define VXF_STATE_SETUP (1ULL<<32)
+#define VXF_STATE_INIT (1ULL<<33)
+
-+#define VXF_STATE_HELPER (1ULL<<36)
++#define VXF_SC_HELPER (1ULL<<36)
++#define VXF_REBOOT_KILL (1ULL<<37)
++#define VXF_PERSISTENT (1ULL<<38)
+
+#define VXF_FORK_RSS (1ULL<<48)
+#define VXF_PROLIFIC (1ULL<<49)
@@ -9939,6 +10259,11 @@
+#define VXF_INIT_SET (VXF_STATE_SETUP|VXF_STATE_INIT)
+
+
++/* context migration */
++
++#define VXM_SET_INIT 0x00000001
++#define VXM_SET_REAPER 0x00000002
++
+/* context caps */
+
+#define VXC_CAP_MASK 0x00000000
@@ -9991,7 +10316,8 @@
+ uint64_t vx_bcaps; /* bounding caps (system) */
+ uint64_t vx_ccaps; /* context caps (vserver) */
+
-+ pid_t vx_initpid; /* PID of fake init process */
++ struct task_struct *vx_reaper; /* guest reaper process */
++ pid_t vx_initpid; /* PID of guest init */
+
+ wait_queue_head_t vx_wait; /* context exit waitqueue */
+
@@ -10035,8 +10361,8 @@
+extern void claim_vx_info(struct vx_info *, struct task_struct *);
+extern void release_vx_info(struct vx_info *, struct task_struct *);
+
-+extern struct vx_info *locate_vx_info(int);
-+extern struct vx_info *locate_or_create_vx_info(int);
++extern struct vx_info *lookup_vx_info(int);
++extern struct vx_info *lookup_or_create_vx_info(int);
+
+extern int get_xid_list(int, unsigned int *, int);
+extern int xid_is_hashed(xid_t);
@@ -10050,10 +10376,12 @@
+#else /* _VX_CONTEXT_H */
+#warning duplicate inclusion
+#endif /* _VX_CONTEXT_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/context_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/context_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/context_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/context_cmd.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,79 @@
+diff --git a/include/linux/vserver/context_cmd.h b/include/linux/vserver/context_cmd.h
+new file mode 100644
+index 0000000..5a3195f
+--- /dev/null
++++ b/include/linux/vserver/context_cmd.h
+@@ -0,0 +1,84 @@
+#ifndef _VX_CONTEXT_CMD_H
+#define _VX_CONTEXT_CMD_H
+
@@ -10090,7 +10418,12 @@
+ uint64_t flagword;
+};
+
-+#define VCMD_ctx_migrate VC_CMD(PROCMIG, 1, 0)
++#define VCMD_ctx_migrate_v0 VC_CMD(PROCMIG, 1, 0)
++#define VCMD_ctx_migrate VC_CMD(PROCMIG, 1, 1)
++
++struct vcmd_ctx_migrate {
++ uint64_t flagword;
++};
+
+#ifdef __KERNEL__
+extern int vc_ctx_create(uint32_t, void __user *);
@@ -10133,9 +10466,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/cvirt.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/cvirt.h
---- linux-2.6.16-rc5/include/linux/vserver/cvirt.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/cvirt.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/cvirt.h b/include/linux/vserver/cvirt.h
+new file mode 100644
+index 0000000..204db79
+--- /dev/null
++++ b/include/linux/vserver/cvirt.h
@@ -0,0 +1,26 @@
+#ifndef _VX_CVIRT_H
+#define _VX_CVIRT_H
@@ -10163,9 +10498,11 @@
+#else /* _VX_CVIRT_H */
+#warning duplicate inclusion
+#endif /* _VX_CVIRT_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/cvirt_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/cvirt_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/cvirt_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/cvirt_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/cvirt_cmd.h b/include/linux/vserver/cvirt_cmd.h
+new file mode 100644
+index 0000000..6720469
+--- /dev/null
++++ b/include/linux/vserver/cvirt_cmd.h
@@ -0,0 +1,35 @@
+#ifndef _VX_CVIRT_CMD_H
+#define _VX_CVIRT_CMD_H
@@ -10202,9 +10539,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CVIRT_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/cvirt_def.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/cvirt_def.h
---- linux-2.6.16-rc5/include/linux/vserver/cvirt_def.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/cvirt_def.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/cvirt_def.h b/include/linux/vserver/cvirt_def.h
+new file mode 100644
+index 0000000..eae2ec2
+--- /dev/null
++++ b/include/linux/vserver/cvirt_def.h
@@ -0,0 +1,78 @@
+#ifndef _VX_CVIRT_DEF_H
+#define _VX_CVIRT_DEF_H
@@ -10284,10 +10623,12 @@
+};
+
+#endif /* _VX_CVIRT_DEF_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/debug.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/debug.h
---- linux-2.6.16-rc5/include/linux/vserver/debug.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/debug.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,273 @@
+diff --git a/include/linux/vserver/debug.h b/include/linux/vserver/debug.h
+new file mode 100644
+index 0000000..3defb65
+--- /dev/null
++++ b/include/linux/vserver/debug.h
+@@ -0,0 +1,297 @@
+#ifndef _VX_DEBUG_H
+#define _VX_DEBUG_H
+
@@ -10318,6 +10659,7 @@
+extern unsigned int vx_debug_nid;
+extern unsigned int vx_debug_net;
+extern unsigned int vx_debug_limit;
++extern unsigned int vx_debug_cres;
+extern unsigned int vx_debug_dlim;
+extern unsigned int vx_debug_cvirt;
+extern unsigned int vx_debug_misc;
@@ -10363,6 +10705,7 @@
+#define vx_debug_nid 0
+#define vx_debug_net 0
+#define vx_debug_limit 0
++#define vx_debug_cres 0
+#define vx_debug_dlim 0
+#define vx_debug_cvirt 0
+
@@ -10431,7 +10774,9 @@
+
+struct _vx_hist_entry *vxh_advance(void *loc);
+
-+static inline void __vxh_copy_vxi(struct _vx_hist_entry *entry, struct vx_info *vxi)
++
++static inline
++void __vxh_copy_vxi(struct _vx_hist_entry *entry, struct vx_info *vxi)
+{
+ entry->vxi.ptr = vxi;
+ if (vxi) {
@@ -10442,97 +10787,117 @@
+}
+
+
-+#define VXH_HERE() current_text_addr()
++#define __HERE__ current_text_addr()
+
-+#define __VXH_BODY(__type, __data) \
++#define __VXH_BODY(__type, __data, __here) \
+ struct _vx_hist_entry *entry; \
+ \
+ preempt_disable(); \
-+ entry = vxh_advance(VXH_HERE()); \
++ entry = vxh_advance(__here); \
+ __data; \
+ entry->type = __type; \
+ preempt_enable();
+
+
+ /* pass vxi only */
-+#define __VXH_SIMPLE \
++
++#define __VXH_SMPL \
+ __vxh_copy_vxi(entry, vxi)
+
-+#define VXH_SIMPLE(__name, __type) \
-+static inline void __name(struct vx_info *vxi) \
-+{ \
-+ __VXH_BODY(__type, __VXH_SIMPLE) \
++static inline
++void __vxh_smpl(struct vx_info *vxi, int __type, void *__here)
++{
++ __VXH_BODY(__type, __VXH_SMPL, __here)
+}
+
+ /* pass vxi and data (void *) */
++
+#define __VXH_DATA \
+ __vxh_copy_vxi(entry, vxi); \
+ entry->sc.data = data
+
-+#define VXH_DATA(__name, __type) \
-+static inline \
-+void __name(struct vx_info *vxi, void *data) \
-+{ \
-+ __VXH_BODY(__type, __VXH_DATA) \
++static inline
++void __vxh_data(struct vx_info *vxi, void *data,
++ int __type, void *__here)
++{
++ __VXH_BODY(__type, __VXH_DATA, __here)
+}
+
+ /* pass vxi and arg (long) */
-+#define __VXH_LARG \
++
++#define __VXH_LONG \
+ __vxh_copy_vxi(entry, vxi); \
+ entry->ll.arg = arg
+
-+#define VXH_LARG(__name, __type) \
-+static inline \
-+void __name(struct vx_info *vxi, long arg) \
-+{ \
-+ __VXH_BODY(__type, __VXH_LARG) \
++static inline
++void __vxh_long(struct vx_info *vxi, long arg,
++ int __type, void *__here)
++{
++ __VXH_BODY(__type, __VXH_LONG, __here)
+}
+
+
-+static inline void vxh_throw_oops(void)
++static inline
++void __vxh_throw_oops(void *__here)
+{
-+ __VXH_BODY(VXH_THROW_OOPS, {});
++ __VXH_BODY(VXH_THROW_OOPS, {}, __here);
+ /* prevent further acquisition */
+ vxh_active = 0;
+}
+
-+VXH_SIMPLE(vxh_get_vx_info, VXH_GET_VX_INFO);
-+VXH_SIMPLE(vxh_put_vx_info, VXH_PUT_VX_INFO);
-+
-+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);
+
-+VXH_DATA(vxh_claim_vx_info, VXH_CLAIM_VX_INFO);
-+VXH_DATA(vxh_release_vx_info, VXH_RELEASE_VX_INFO);
++#define vxh_throw_oops() __vxh_throw_oops(__HERE__);
+
-+VXH_SIMPLE(vxh_alloc_vx_info, VXH_ALLOC_VX_INFO);
-+VXH_SIMPLE(vxh_dealloc_vx_info, VXH_DEALLOC_VX_INFO);
++#define __vxh_get_vx_info(v,h) __vxh_smpl(v, VXH_GET_VX_INFO, h);
++#define __vxh_put_vx_info(v,h) __vxh_smpl(v, VXH_PUT_VX_INFO, h);
+
-+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);
++#define __vxh_init_vx_info(v,d,h) \
++ __vxh_data(v,d, VXH_INIT_VX_INFO, h);
++#define __vxh_set_vx_info(v,d,h) \
++ __vxh_data(v,d, VXH_SET_VX_INFO, h);
++#define __vxh_clr_vx_info(v,d,h) \
++ __vxh_data(v,d, VXH_CLR_VX_INFO, h);
++
++#define __vxh_claim_vx_info(v,d,h) \
++ __vxh_data(v,d, VXH_CLAIM_VX_INFO, h);
++#define __vxh_release_vx_info(v,d,h) \
++ __vxh_data(v,d, VXH_RELEASE_VX_INFO, h);
++
++#define vxh_alloc_vx_info(v) \
++ __vxh_smpl(v, VXH_ALLOC_VX_INFO, __HERE__);
++#define vxh_dealloc_vx_info(v) \
++ __vxh_smpl(v, VXH_DEALLOC_VX_INFO, __HERE__);
++
++#define vxh_hash_vx_info(v) \
++ __vxh_smpl(v, VXH_HASH_VX_INFO, __HERE__);
++#define vxh_unhash_vx_info(v) \
++ __vxh_smpl(v, VXH_UNHASH_VX_INFO, __HERE__);
++
++#define vxh_loc_vx_info(v,l) \
++ __vxh_long(v,l, VXH_LOC_VX_INFO, __HERE__);
++#define vxh_lookup_vx_info(v,l) \
++ __vxh_long(v,l, VXH_LOOKUP_VX_INFO, __HERE__);
++#define vxh_create_vx_info(v,l) \
++ __vxh_long(v,l, VXH_CREATE_VX_INFO, __HERE__);
+
+extern void vxh_dump_history(void);
+
+
+#else /* CONFIG_VSERVER_HISTORY */
+
++#define __HERE__ 0
+
+#define vxh_throw_oops() do { } while (0)
+
-+#define vxh_get_vx_info(v) do { } while (0)
-+#define vxh_put_vx_info(v) do { } while (0)
++#define __vxh_get_vx_info(v,h) do { } while (0)
++#define __vxh_put_vx_info(v,h) do { } while (0)
+
-+#define vxh_init_vx_info(v,d) do { } while (0)
-+#define vxh_set_vx_info(v,d) do { } while (0)
-+#define vxh_clr_vx_info(v,d) do { } while (0)
++#define __vxh_init_vx_info(v,d,h) do { } while (0)
++#define __vxh_set_vx_info(v,d,h) do { } while (0)
++#define __vxh_clr_vx_info(v,d,h) do { } while (0)
+
-+#define vxh_claim_vx_info(v,d) do { } while (0)
-+#define vxh_release_vx_info(v,d) do { } while (0)
++#define __vxh_claim_vx_info(v,d,h) do { } while (0)
++#define __vxh_release_vx_info(v,d,h) do { } while (0)
+
+#define vxh_alloc_vx_info(v) do { } while (0)
+#define vxh_dealloc_vx_info(v) do { } while (0)
@@ -10561,9 +10926,11 @@
+
+
+#endif /* _VX_DEBUG_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/debug_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/debug_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/debug_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/debug_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/debug_cmd.h b/include/linux/vserver/debug_cmd.h
+new file mode 100644
+index 0000000..c0cbd08
+--- /dev/null
++++ b/include/linux/vserver/debug_cmd.h
@@ -0,0 +1,14 @@
+#ifndef _VX_DEBUG_CMD_H
+#define _VX_DEBUG_CMD_H
@@ -10579,9 +10946,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_DEBUG_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/dlimit.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/dlimit.h
---- linux-2.6.16-rc5/include/linux/vserver/dlimit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/dlimit.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/dlimit.h b/include/linux/vserver/dlimit.h
+new file mode 100644
+index 0000000..99c2240
+--- /dev/null
++++ b/include/linux/vserver/dlimit.h
@@ -0,0 +1,53 @@
+#ifndef _VX_DLIMIT_H
+#define _VX_DLIMIT_H
@@ -10636,9 +11005,11 @@
+#else /* _VX_DLIMIT_H */
+#warning duplicate inclusion
+#endif /* _VX_DLIMIT_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/dlimit_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/dlimit_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/dlimit_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/dlimit_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/dlimit_cmd.h b/include/linux/vserver/dlimit_cmd.h
+new file mode 100644
+index 0000000..cc7f779
+--- /dev/null
++++ b/include/linux/vserver/dlimit_cmd.h
@@ -0,0 +1,71 @@
+#ifndef _VX_DLIMIT_CMD_H
+#define _VX_DLIMIT_CMD_H
@@ -10711,9 +11082,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_DLIMIT_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/inode.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/inode.h
---- linux-2.6.16-rc5/include/linux/vserver/inode.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/inode.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/inode.h b/include/linux/vserver/inode.h
+new file mode 100644
+index 0000000..a6f60f5
+--- /dev/null
++++ b/include/linux/vserver/inode.h
@@ -0,0 +1,40 @@
+#ifndef _VX_INODE_H
+#define _VX_INODE_H
@@ -10755,9 +11128,11 @@
+#else /* _VX_INODE_H */
+#warning duplicate inclusion
+#endif /* _VX_INODE_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/inode_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/inode_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/inode_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/inode_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/inode_cmd.h b/include/linux/vserver/inode_cmd.h
+new file mode 100644
+index 0000000..70d56a8
+--- /dev/null
++++ b/include/linux/vserver/inode_cmd.h
@@ -0,0 +1,61 @@
+#ifndef _VX_INODE_CMD_H
+#define _VX_INODE_CMD_H
@@ -10820,9 +11195,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_INODE_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/legacy.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/legacy.h
---- linux-2.6.16-rc5/include/linux/vserver/legacy.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/legacy.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/legacy.h b/include/linux/vserver/legacy.h
+new file mode 100644
+index 0000000..41afbd9
+--- /dev/null
++++ b/include/linux/vserver/legacy.h
@@ -0,0 +1,49 @@
+#ifndef _VX_LEGACY_H
+#define _VX_LEGACY_H
@@ -10873,9 +11250,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LEGACY_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/limit.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit.h
---- linux-2.6.16-rc5/include/linux/vserver/limit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/limit.h b/include/linux/vserver/limit.h
+new file mode 100644
+index 0000000..aaaee11
+--- /dev/null
++++ b/include/linux/vserver/limit.h
@@ -0,0 +1,20 @@
+#ifndef _VX_LIMIT_H
+#define _VX_LIMIT_H
@@ -10897,9 +11276,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LIMIT_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/limit_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/limit_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/limit_cmd.h b/include/linux/vserver/limit_cmd.h
+new file mode 100644
+index 0000000..b67a309
+--- /dev/null
++++ b/include/linux/vserver/limit_cmd.h
@@ -0,0 +1,37 @@
+#ifndef _VX_LIMIT_CMD_H
+#define _VX_LIMIT_CMD_H
@@ -10938,9 +11319,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LIMIT_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/limit_def.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit_def.h
---- linux-2.6.16-rc5/include/linux/vserver/limit_def.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit_def.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/limit_def.h b/include/linux/vserver/limit_def.h
+new file mode 100644
+index 0000000..a154334
+--- /dev/null
++++ b/include/linux/vserver/limit_def.h
@@ -0,0 +1,23 @@
+#ifndef _VX_LIMIT_DEF_H
+#define _VX_LIMIT_DEF_H
@@ -10965,16 +11348,19 @@
+
+
+#endif /* _VX_LIMIT_DEF_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/limit_int.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit_int.h
---- linux-2.6.16-rc5/include/linux/vserver/limit_int.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/limit_int.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,75 @@
+diff --git a/include/linux/vserver/limit_int.h b/include/linux/vserver/limit_int.h
+new file mode 100644
+index 0000000..a48d242
+--- /dev/null
++++ b/include/linux/vserver/limit_int.h
+@@ -0,0 +1,76 @@
+#ifndef _VX_LIMIT_INT_H
+#define _VX_LIMIT_INT_H
+
+
+#ifdef __KERNEL__
+
++#define VXD_RCRES(r) VXD_CBIT(cres, (r))
+#define VXD_RLIMIT(r) VXD_CBIT(limit, (r))
+
+extern const char *vlimit_name[NUM_LIMITS];
@@ -10982,7 +11368,7 @@
+static inline void __vx_acc_cres(struct vx_info *vxi,
+ int res, int dir, void *_data, char *_file, int _line)
+{
-+ if (VXD_RLIMIT(res))
++ if (VXD_RCRES(res))
+ vxlprintk(1, "vx_acc_cres[%5d,%s,%2d]: %5d%s (%p)",
+ (vxi ? vxi->vx_id : -1), vlimit_name[res], res,
+ (vxi ? atomic_read(&vxi->limit.rcur[res]) : 0),
@@ -10999,7 +11385,7 @@
+static inline void __vx_add_cres(struct vx_info *vxi,
+ int res, int amount, void *_data, char *_file, int _line)
+{
-+ if (VXD_RLIMIT(res))
++ if (VXD_RCRES(res))
+ vxlprintk(1, "vx_add_cres[%5d,%s,%2d]: %5d += %5d (%p)",
+ (vxi ? vxi->vx_id : -1), vlimit_name[res], res,
+ (vxi ? atomic_read(&vxi->limit.rcur[res]) : 0),
@@ -11044,9 +11430,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LIMIT_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/namespace.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/namespace.h
---- linux-2.6.16-rc5/include/linux/vserver/namespace.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/namespace.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/namespace.h b/include/linux/vserver/namespace.h
+new file mode 100644
+index 0000000..fb6cdd1
+--- /dev/null
++++ b/include/linux/vserver/namespace.h
@@ -0,0 +1,15 @@
+#ifndef _VX_NAMESPACE_H
+#define _VX_NAMESPACE_H
@@ -11063,17 +11451,21 @@
+#else /* _VX_NAMESPACE_H */
+#warning duplicate inclusion
+#endif /* _VX_NAMESPACE_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/namespace_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/namespace_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/namespace_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/namespace_cmd.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,17 @@
+diff --git a/include/linux/vserver/namespace_cmd.h b/include/linux/vserver/namespace_cmd.h
+new file mode 100644
+index 0000000..0b3239a
+--- /dev/null
++++ b/include/linux/vserver/namespace_cmd.h
+@@ -0,0 +1,19 @@
+#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)
++
++#define VCMD_set_namespace_v0 VC_CMD(PROCALT, 3, 0)
++#define VCMD_set_namespace VC_CMD(PROCALT, 3, 1)
+
+
+#ifdef __KERNEL__
@@ -11084,9 +11476,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_NAMESPACE_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/network.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/network.h
---- linux-2.6.16-rc5/include/linux/vserver/network.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/network.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/network.h b/include/linux/vserver/network.h
+new file mode 100644
+index 0000000..1722b16
+--- /dev/null
++++ b/include/linux/vserver/network.h
@@ -0,0 +1,119 @@
+#ifndef _VX_NETWORK_H
+#define _VX_NETWORK_H
@@ -11105,7 +11499,8 @@
+
+#define NXF_STATE_SETUP (1ULL<<32)
+
-+#define NXF_STATE_HELPER (1ULL<<36)
++#define NXF_SC_HELPER (1ULL<<36)
++#define NXF_PERSISTENT (1ULL<<38)
+
+#define NXF_ONE_TIME (0x0001ULL<<32)
+
@@ -11160,8 +11555,7 @@
+#define NXS_SHUTDOWN 0x0100
+#define NXS_RELEASED 0x8000
+
-+extern struct nx_info *locate_nx_info(int);
-+extern struct nx_info *locate_or_create_nx_info(int);
++extern struct nx_info *lookup_nx_info(int);
+
+extern int get_nid_list(int, unsigned int *, int);
+extern int nid_is_hashed(nid_t);
@@ -11207,9 +11601,11 @@
+#else /* _VX_NETWORK_H */
+#warning duplicate inclusion
+#endif /* _VX_NETWORK_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/network_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/network_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/network_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/network_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/network_cmd.h b/include/linux/vserver/network_cmd.h
+new file mode 100644
+index 0000000..d9802fe
+--- /dev/null
++++ b/include/linux/vserver/network_cmd.h
@@ -0,0 +1,89 @@
+#ifndef _VX_NETWORK_CMD_H
+#define _VX_NETWORK_CMD_H
@@ -11300,9 +11696,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/sched.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/sched.h
---- linux-2.6.16-rc5/include/linux/vserver/sched.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/sched.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/sched.h b/include/linux/vserver/sched.h
+new file mode 100644
+index 0000000..2ef4b99
+--- /dev/null
++++ b/include/linux/vserver/sched.h
@@ -0,0 +1,26 @@
+#ifndef _VX_SCHED_H
+#define _VX_SCHED_H
@@ -11330,9 +11728,11 @@
+#else /* _VX_SCHED_H */
+#warning duplicate inclusion
+#endif /* _VX_SCHED_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/sched_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/sched_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/sched_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/sched_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/sched_cmd.h b/include/linux/vserver/sched_cmd.h
+new file mode 100644
+index 0000000..b9e8ac1
+--- /dev/null
++++ b/include/linux/vserver/sched_cmd.h
@@ -0,0 +1,48 @@
+#ifndef _VX_SCHED_CMD_H
+#define _VX_SCHED_CMD_H
@@ -11382,9 +11782,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_SCHED_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/sched_def.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/sched_def.h
---- linux-2.6.16-rc5/include/linux/vserver/sched_def.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/sched_def.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/sched_def.h b/include/linux/vserver/sched_def.h
+new file mode 100644
+index 0000000..ee69c9b
+--- /dev/null
++++ b/include/linux/vserver/sched_def.h
@@ -0,0 +1,39 @@
+#ifndef _VX_SCHED_DEF_H
+#define _VX_SCHED_DEF_H
@@ -11425,9 +11827,31 @@
+};
+
+#endif /* _VX_SCHED_DEF_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/signal_cmd.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/signal_cmd.h
---- linux-2.6.16-rc5/include/linux/vserver/signal_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/signal_cmd.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/signal.h b/include/linux/vserver/signal.h
+new file mode 100644
+index 0000000..690168e
+--- /dev/null
++++ b/include/linux/vserver/signal.h
+@@ -0,0 +1,14 @@
++#ifndef _VX_SIGNAL_H
++#define _VX_SIGNAL_H
++
++
++#ifdef __KERNEL__
++
++struct vx_info;
++
++int vx_info_kill(struct vx_info *, int, int);
++
++#endif /* __KERNEL__ */
++#else /* _VX_SIGNAL_H */
++#warning duplicate inclusion
++#endif /* _VX_SIGNAL_H */
+diff --git a/include/linux/vserver/signal_cmd.h b/include/linux/vserver/signal_cmd.h
+new file mode 100644
+index 0000000..a1c71eb
+--- /dev/null
++++ b/include/linux/vserver/signal_cmd.h
@@ -0,0 +1,26 @@
+#ifndef _VX_SIGNAL_CMD_H
+#define _VX_SIGNAL_CMD_H
@@ -11455,9 +11879,11 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_SIGNAL_CMD_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/switch.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/switch.h
---- linux-2.6.16-rc5/include/linux/vserver/switch.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/switch.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/switch.h b/include/linux/vserver/switch.h
+new file mode 100644
+index 0000000..ddfba94
+--- /dev/null
++++ b/include/linux/vserver/switch.h
@@ -0,0 +1,98 @@
+#ifndef _VX_SWITCH_H
+#define _VX_SWITCH_H
@@ -11557,9 +11983,11 @@
+#endif /* __KERNEL__ */
+
+#endif /* _VX_SWITCH_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/linux/vserver/xid.h linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/xid.h
---- linux-2.6.16-rc5/include/linux/vserver/xid.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/linux/vserver/xid.h 2006-02-17 22:18:51 +0100
+diff --git a/include/linux/vserver/xid.h b/include/linux/vserver/xid.h
+new file mode 100644
+index 0000000..2e4349e
+--- /dev/null
++++ b/include/linux/vserver/xid.h
@@ -0,0 +1,146 @@
+#ifndef _VX_XID_H
+#define _VX_XID_H
@@ -11707,9 +12135,10 @@
+void vx_propagate_xid(struct nameidata *nd, struct inode *inode);
+
+#endif /* _VX_XID_H */
-diff -NurpP --minimal linux-2.6.16-rc5/include/net/af_unix.h linux-2.6.16-rc5-vs2.0.2-rc10/include/net/af_unix.h
---- linux-2.6.16-rc5/include/net/af_unix.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/net/af_unix.h 2006-02-17 22:18:51 +0100
+diff --git a/include/net/af_unix.h b/include/net/af_unix.h
+index bfc1779..9dd2fac 100644
+--- a/include/net/af_unix.h
++++ b/include/net/af_unix.h
@@ -17,9 +17,9 @@ extern spinlock_t unix_table_lock;
extern atomic_t unix_tot_inflight;
@@ -11752,9 +12181,10 @@
}
#define forall_unix_sockets(i, s) \
-diff -NurpP --minimal linux-2.6.16-rc5/include/net/inet_hashtables.h linux-2.6.16-rc5-vs2.0.2-rc10/include/net/inet_hashtables.h
---- linux-2.6.16-rc5/include/net/inet_hashtables.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/net/inet_hashtables.h 2006-02-17 22:18:51 +0100
+diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h
+index 135d80f..1a80498 100644
+--- a/include/net/inet_hashtables.h
++++ b/include/net/inet_hashtables.h
@@ -272,6 +272,25 @@ static inline int inet_iif(const struct
return ((struct rtable *)skb->dst)->rt_iif;
}
@@ -11790,9 +12220,10 @@
(sk->sk_family == PF_INET || !ipv6_only_sock(sk)) &&
!sk->sk_bound_dev_if)
goto sherry_cache;
-diff -NurpP --minimal linux-2.6.16-rc5/include/net/inet_sock.h linux-2.6.16-rc5-vs2.0.2-rc10/include/net/inet_sock.h
---- linux-2.6.16-rc5/include/net/inet_sock.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/net/inet_sock.h 2006-02-17 22:18:51 +0100
+diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
+index 883eb52..4824254 100644
+--- a/include/net/inet_sock.h
++++ b/include/net/inet_sock.h
@@ -115,6 +115,7 @@ struct inet_sock {
/* Socket demultiplex comparisons on incoming packets. */
__u32 daddr;
@@ -11801,9 +12232,10 @@
__u16 dport;
__u16 num;
__u32 saddr;
-diff -NurpP --minimal linux-2.6.16-rc5/include/net/inet_timewait_sock.h linux-2.6.16-rc5-vs2.0.2-rc10/include/net/inet_timewait_sock.h
---- linux-2.6.16-rc5/include/net/inet_timewait_sock.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/net/inet_timewait_sock.h 2006-02-17 22:18:51 +0100
+diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h
+index 1da294c..4f9f2b0 100644
+--- a/include/net/inet_timewait_sock.h
++++ b/include/net/inet_timewait_sock.h
@@ -116,6 +116,10 @@ struct inet_timewait_sock {
#define tw_refcnt __tw_common.skc_refcnt
#define tw_hash __tw_common.skc_hash
@@ -11815,9 +12247,10 @@
volatile unsigned char tw_substate;
/* 3 bits hole, try to pack */
unsigned char tw_rcv_wscale;
-diff -NurpP --minimal linux-2.6.16-rc5/include/net/route.h linux-2.6.16-rc5-vs2.0.2-rc10/include/net/route.h
---- linux-2.6.16-rc5/include/net/route.h 2006-02-28 15:03:41 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/net/route.h 2006-02-17 22:18:51 +0100
+diff --git a/include/net/route.h b/include/net/route.h
+index 9c04f15..e9ba7a4 100644
+--- a/include/net/route.h
++++ b/include/net/route.h
@@ -28,11 +28,14 @@
#include <net/dst.h>
#include <net/inetpeer.h>
@@ -11918,9 +12351,10 @@
err = __ip_route_output_key(rp, &fl);
if (err)
return err;
-diff -NurpP --minimal linux-2.6.16-rc5/include/net/sock.h linux-2.6.16-rc5-vs2.0.2-rc10/include/net/sock.h
---- linux-2.6.16-rc5/include/net/sock.h 2006-02-28 15:03:44 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/include/net/sock.h 2006-02-17 22:18:51 +0100
+diff --git a/include/net/sock.h b/include/net/sock.h
+index 3075803..bcdf50d 100644
+--- a/include/net/sock.h
++++ b/include/net/sock.h
@@ -115,6 +115,10 @@ struct sock_common {
atomic_t skc_refcnt;
unsigned int skc_hash;
@@ -11943,9 +12377,10 @@
unsigned char sk_shutdown : 2,
sk_no_check : 2,
sk_userlocks : 4;
-diff -NurpP --minimal linux-2.6.16-rc5/ipc/mqueue.c linux-2.6.16-rc5-vs2.0.2-rc10/ipc/mqueue.c
---- linux-2.6.16-rc5/ipc/mqueue.c 2006-02-28 15:03:45 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/ipc/mqueue.c 2006-02-17 22:18:51 +0100
+diff --git a/ipc/mqueue.c b/ipc/mqueue.c
+index fd2e26b..6fc128e 100644
+--- a/ipc/mqueue.c
++++ b/ipc/mqueue.c
@@ -25,6 +25,8 @@
#include <linux/netlink.h>
#include <linux/syscalls.h>
@@ -11981,7 +12416,7 @@
(info->attr.mq_maxmsg * info->attr.mq_msgsize));
user = info->user;
if (user) {
-+ struct vx_info *vxi = locate_vx_info(user->xid);
++ struct vx_info *vxi = lookup_vx_info(user->xid);
+
spin_lock(&mq_lock);
user->mq_bytes -= mq_bytes;
@@ -12001,9 +12436,10 @@
out_err:
dput(dentry);
-diff -NurpP --minimal linux-2.6.16-rc5/ipc/msg.c linux-2.6.16-rc5-vs2.0.2-rc10/ipc/msg.c
---- linux-2.6.16-rc5/ipc/msg.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/ipc/msg.c 2006-02-17 22:18:51 +0100
+diff --git a/ipc/msg.c b/ipc/msg.c
+index fbf7570..10459e8 100644
+--- a/ipc/msg.c
++++ b/ipc/msg.c
@@ -100,6 +100,7 @@ static int newque (key_t key, int msgflg
msq->q_perm.mode = (msgflg & S_IRWXUGO);
@@ -12022,9 +12458,10 @@
return seq_printf(s,
"%10d %10d %4o %10lu %10lu %5u %5u %5u %5u %5u %5u %10lu %10lu %10lu\n",
msq->q_perm.key,
-diff -NurpP --minimal linux-2.6.16-rc5/ipc/sem.c linux-2.6.16-rc5-vs2.0.2-rc10/ipc/sem.c
---- linux-2.6.16-rc5/ipc/sem.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/ipc/sem.c 2006-02-17 22:18:51 +0100
+diff --git a/ipc/sem.c b/ipc/sem.c
+index 31fd402..1a68338 100644
+--- a/ipc/sem.c
++++ b/ipc/sem.c
@@ -179,6 +179,7 @@ static int newary (key_t key, int nsems,
sma->sem_perm.mode = (semflg & S_IRWXUGO);
@@ -12043,9 +12480,10 @@
return seq_printf(s,
"%10d %10d %4o %10lu %5u %5u %5u %5u %10lu %10lu\n",
sma->sem_perm.key,
-diff -NurpP --minimal linux-2.6.16-rc5/ipc/shm.c linux-2.6.16-rc5-vs2.0.2-rc10/ipc/shm.c
---- linux-2.6.16-rc5/ipc/shm.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/ipc/shm.c 2006-02-17 22:18:51 +0100
+diff --git a/ipc/shm.c b/ipc/shm.c
+index 9162123..918b2ff 100644
+--- a/ipc/shm.c
++++ b/ipc/shm.c
@@ -30,6 +30,8 @@
#include <linux/capability.h>
#include <linux/ptrace.h>
@@ -12060,7 +12498,7 @@
static void shm_destroy (struct shmid_kernel *shp)
{
- shm_tot -= (shp->shm_segsz + PAGE_SIZE - 1) >> PAGE_SHIFT;
-+ struct vx_info *vxi = locate_vx_info(shp->shm_perm.xid);
++ struct vx_info *vxi = lookup_vx_info(shp->shm_perm.xid);
+ int numpages = (shp->shm_segsz + PAGE_SIZE - 1) >> PAGE_SHIFT;
+
+ vx_ipcshm_sub(vxi, shp, numpages);
@@ -12111,9 +12549,10 @@
if (sizeof(size_t) <= sizeof(int))
format = SMALL_STRING;
else
-diff -NurpP --minimal linux-2.6.16-rc5/ipc/util.c linux-2.6.16-rc5-vs2.0.2-rc10/ipc/util.c
---- linux-2.6.16-rc5/ipc/util.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/ipc/util.c 2006-02-17 22:18:51 +0100
+diff --git a/ipc/util.c b/ipc/util.c
+index 8626219..9de6620 100644
+--- a/ipc/util.c
++++ b/ipc/util.c
@@ -154,7 +154,9 @@ int ipc_findkey(struct ipc_ids* ids, key
*/
for (id = 0; id <= max_id; id++) {
@@ -12134,22 +12573,23 @@
requested_mode = (flag >> 6) | (flag >> 3) | flag;
granted_mode = ipcp->mode;
if (current->euid == ipcp->cuid || current->euid == ipcp->uid)
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/Makefile linux-2.6.16-rc5-vs2.0.2-rc10/kernel/Makefile
---- linux-2.6.16-rc5/kernel/Makefile 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/Makefile 2006-02-17 22:18:51 +0100
-@@ -10,6 +10,9 @@ obj-y = sched.o fork.o exec_domain.o
+diff --git a/kernel/Makefile b/kernel/Makefile
+index 4ae0fbd..2d89af0 100644
+--- a/kernel/Makefile
++++ b/kernel/Makefile
+@@ -10,6 +10,8 @@ obj-y = sched.o fork.o exec_domain.o
kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \
hrtimer.o
-+subdir-y += vserver
-+obj-y += vserver/vserver.o
++obj-y += vserver/
+
obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o
obj-$(CONFIG_FUTEX) += futex.o
obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/capability.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/capability.c
---- linux-2.6.16-rc5/kernel/capability.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/capability.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/capability.c b/kernel/capability.c
+index bfa3c92..08e5fe7 100644
+--- a/kernel/capability.c
++++ b/kernel/capability.c
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <linux/security.h>
@@ -12158,9 +12598,10 @@
#include <asm/uaccess.h>
unsigned securebits = SECUREBITS_DEFAULT; /* systemwide security settings */
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/cpuset.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/cpuset.c
---- linux-2.6.16-rc5/kernel/cpuset.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/cpuset.c 2006-02-18 15:22:55 +0100
+diff --git a/kernel/cpuset.c b/kernel/cpuset.c
+index 12815d3..b6c29ae 100644
+--- a/kernel/cpuset.c
++++ b/kernel/cpuset.c
@@ -50,6 +50,7 @@
#include <linux/time.h>
#include <linux/backing-dev.h>
@@ -12169,9 +12610,10 @@
#include <asm/uaccess.h>
#include <asm/atomic.h>
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/exit.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/exit.c
---- linux-2.6.16-rc5/kernel/exit.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/exit.c 2006-02-28 15:23:49 +0100
+diff --git a/kernel/exit.c b/kernel/exit.c
+index 531aadc..7428f48 100644
+--- a/kernel/exit.c
++++ b/kernel/exit.c
@@ -31,6 +31,10 @@
#include <linux/signal.h>
#include <linux/cn_proc.h>
@@ -12183,30 +12625,7 @@
#include <asm/uaccess.h>
#include <asm/unistd.h>
-@@ -47,6 +51,11 @@ static void exit_mm(struct task_struct *
- static void __unhash_process(struct task_struct *p)
- {
- nr_threads--;
-+ /* tasklist_lock is held */
-+ if (p->vx_info) {
-+ atomic_dec(&p->vx_info->cvirt.nr_threads);
-+ vx_nproc_dec(p);
-+ }
- detach_pid(p, PIDTYPE_PID);
- detach_pid(p, PIDTYPE_TGID);
- if (thread_group_leader(p)) {
-@@ -107,6 +116,10 @@ repeat:
- spin_unlock(&p->proc_lock);
- proc_pid_flush(proc_dentry);
- release_thread(p);
-+ if (p->vx_info)
-+ release_vx_info(p->vx_info, p);
-+ if (p->nx_info)
-+ release_nx_info(p->nx_info, p);
- put_task_struct(p);
-
- p = leader;
-@@ -237,6 +250,7 @@ static void reparent_to_init(void)
+@@ -237,6 +241,7 @@ static void reparent_to_init(void)
ptrace_unlink(current);
/* Reparent to init */
REMOVE_LINKS(current);
@@ -12214,7 +12633,7 @@
current->parent = child_reaper;
current->real_parent = child_reaper;
SET_LINKS(current);
-@@ -396,6 +410,7 @@ static void close_files(struct files_str
+@@ -396,6 +401,7 @@ static void close_files(struct files_str
struct file * file = xchg(&fdt->fd[i], NULL);
if (file)
filp_close(file, files);
@@ -12222,7 +12641,16 @@
}
i++;
set >>= 1;
-@@ -616,6 +631,7 @@ static void forget_original_parent(struc
+@@ -536,7 +542,7 @@ static void exit_mm(struct task_struct *
+ mmput(mm);
+ }
+
+-static inline void choose_new_parent(task_t *p, task_t *reaper, task_t *child_reaper)
++static inline void choose_new_parent(task_t *p, task_t *reaper)
+ {
+ /*
+ * Make sure we're not reparenting to ourselves and that
+@@ -616,10 +622,11 @@ static void forget_original_parent(struc
struct task_struct *p, *reaper = father;
struct list_head *_p, *_n;
@@ -12230,9 +12658,46 @@
do {
reaper = next_thread(reaper);
if (reaper == father) {
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/fork.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/fork.c
---- linux-2.6.16-rc5/kernel/fork.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/fork.c 2006-02-18 15:38:15 +0100
+- reaper = child_reaper;
++ reaper = vx_child_reaper(father);
+ break;
+ }
+ } while (reaper->exit_state);
+@@ -643,7 +650,7 @@ static void forget_original_parent(struc
+
+ if (father == p->real_parent) {
+ /* reparent with a reaper, real father it's us */
+- choose_new_parent(p, reaper, child_reaper);
++ choose_new_parent(p, vx_child_reaper(p));
+ reparent_thread(p, father, 0);
+ } else {
+ /* reparent ptraced task to its real parent */
+@@ -664,7 +671,11 @@ static void forget_original_parent(struc
+ }
+ list_for_each_safe(_p, _n, &father->ptrace_children) {
+ p = list_entry(_p,struct task_struct,ptrace_list);
+- choose_new_parent(p, reaper, child_reaper);
++
++ /* check for reaper context */
++ BUG_ON(p->xid != reaper->xid);
++
++ choose_new_parent(p, reaper);
+ reparent_thread(p, father, 1);
+ }
+ }
+@@ -858,6 +869,8 @@ fastcall NORET_TYPE void do_exit(long co
+ __exit_files(tsk);
+ __exit_fs(tsk);
+ exit_namespace(tsk);
++ exit_vx_info(tsk);
++ exit_nx_info(tsk);
+ exit_thread();
+ cpuset_exit(tsk);
+ exit_keys(tsk);
+diff --git a/kernel/fork.c b/kernel/fork.c
+index a8eab86..c6a2ba4 100644
+--- a/kernel/fork.c
++++ b/kernel/fork.c
@@ -44,6 +44,10 @@
#include <linux/rmap.h>
#include <linux/acct.h>
@@ -12253,7 +12718,7 @@
free_task_struct(tsk);
}
EXPORT_SYMBOL(free_task);
-@@ -201,6 +207,8 @@ static inline int dup_mmap(struct mm_str
+@@ -203,6 +209,8 @@ static inline int dup_mmap(struct mm_str
mm->free_area_cache = oldmm->mmap_base;
mm->cached_hole_size = ~0UL;
mm->map_count = 0;
@@ -12262,7 +12727,7 @@
cpus_clear(mm->cpu_vm_mask);
mm->mm_rb = RB_ROOT;
rb_link = &mm->mm_rb.rb_node;
-@@ -212,7 +220,7 @@ static inline int dup_mmap(struct mm_str
+@@ -214,7 +222,7 @@ static inline int dup_mmap(struct mm_str
if (mpnt->vm_flags & VM_DONTCOPY) {
long pages = vma_pages(mpnt);
@@ -12271,7 +12736,7 @@
vm_stat_account(mm, mpnt->vm_flags, mpnt->vm_file,
-pages);
continue;
-@@ -319,8 +327,6 @@ static struct mm_struct * mm_init(struct
+@@ -321,8 +329,6 @@ static struct mm_struct * mm_init(struct
INIT_LIST_HEAD(&mm->mmlist);
mm->core_waiters = 0;
mm->nr_ptes = 0;
@@ -12280,7 +12745,7 @@
spin_lock_init(&mm->page_table_lock);
rwlock_init(&mm->ioctx_list_lock);
mm->ioctx_list = NULL;
-@@ -329,6 +335,7 @@ static struct mm_struct * mm_init(struct
+@@ -331,6 +337,7 @@ static struct mm_struct * mm_init(struct
if (likely(!mm_alloc_pgd(mm))) {
mm->def_flags = 0;
@@ -12288,7 +12753,7 @@
return mm;
}
free_mm(mm);
-@@ -360,6 +367,7 @@ void fastcall __mmdrop(struct mm_struct
+@@ -362,6 +369,7 @@ void fastcall __mmdrop(struct mm_struct
BUG_ON(mm == &init_mm);
mm_free_pgd(mm);
destroy_context(mm);
@@ -12296,7 +12761,7 @@
free_mm(mm);
}
-@@ -463,6 +471,7 @@ static struct mm_struct *dup_mm(struct t
+@@ -465,6 +473,7 @@ static struct mm_struct *dup_mm(struct t
goto fail_nomem;
memcpy(mm, oldmm, sizeof(*mm));
@@ -12304,7 +12769,7 @@
if (!mm_init(mm))
goto fail_nomem;
-@@ -490,6 +499,7 @@ fail_nocontext:
+@@ -492,6 +501,7 @@ fail_nocontext:
* If init_new_context() failed, we cannot use mmput() to free the mm
* because it calls destroy_context()
*/
@@ -12312,7 +12777,7 @@
mm_free_pgd(mm);
free_mm(mm);
return NULL;
-@@ -683,6 +693,8 @@ static struct files_struct *dup_fd(struc
+@@ -685,6 +695,8 @@ static struct files_struct *dup_fd(struc
struct file *f = *old_fds++;
if (f) {
get_file(f);
@@ -12321,7 +12786,7 @@
} else {
/*
* The fd may be claimed in the fd bitmap but not yet
-@@ -915,6 +927,8 @@ static task_t *copy_process(unsigned lon
+@@ -917,6 +929,8 @@ static task_t *copy_process(unsigned lon
{
int retval;
struct task_struct *p = NULL;
@@ -12330,7 +12795,7 @@
if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS))
return ERR_PTR(-EINVAL);
-@@ -943,12 +957,30 @@ static task_t *copy_process(unsigned lon
+@@ -945,12 +959,30 @@ static task_t *copy_process(unsigned lon
if (!p)
goto fork_out;
@@ -12340,7 +12805,7 @@
+ /* check vserver memory */
+ if (p->mm && !(clone_flags & CLONE_VM)) {
+ if (vx_vmpages_avail(p->mm, p->mm->total_vm))
-+ vx_pages_add(p->mm->mm_vx_info, RLIMIT_AS, p->mm->total_vm);
++ vx_pages_add(p->vx_info, RLIMIT_AS, p->mm->total_vm);
+ else
+ goto bad_fork_free;
+ }
@@ -12362,7 +12827,7 @@
}
atomic_inc(&p->user->__count);
-@@ -1188,6 +1220,18 @@ static task_t *copy_process(unsigned lon
+@@ -1190,6 +1222,18 @@ static task_t *copy_process(unsigned lon
nr_threads++;
total_forks++;
spin_unlock(¤t->sighand->siglock);
@@ -12381,19 +12846,20 @@
write_unlock_irq(&tasklist_lock);
proc_fork_connector(p);
return p;
-@@ -1228,6 +1272,9 @@ bad_fork_cleanup_count:
+@@ -1230,6 +1274,9 @@ bad_fork_cleanup_count:
put_group_info(p->group_info);
atomic_dec(&p->user->processes);
free_uid(p->user);
+bad_fork_cleanup_vm:
+ if (p->mm && !(clone_flags & CLONE_VM))
-+ vx_pages_sub(p->mm->mm_vx_info, RLIMIT_AS, p->mm->total_vm);
++ vx_pages_sub(p->vx_info, RLIMIT_AS, p->mm->total_vm);
bad_fork_free:
free_task(p);
fork_out:
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/kthread.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/kthread.c
---- linux-2.6.16-rc5/kernel/kthread.c 2006-01-03 17:30:12 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/kthread.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/kthread.c b/kernel/kthread.c
+index e75950a..c848b20 100644
+--- a/kernel/kthread.c
++++ b/kernel/kthread.c
@@ -114,7 +114,7 @@ static void keventd_create_kthread(void
create->result = ERR_PTR(pid);
} else {
@@ -12403,9 +12869,10 @@
}
complete(&create->done);
}
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/posix-cpu-timers.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/posix-cpu-timers.c
---- linux-2.6.16-rc5/kernel/posix-cpu-timers.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/posix-cpu-timers.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c
+index 520f6c5..96d7046 100644
+--- a/kernel/posix-cpu-timers.c
++++ b/kernel/posix-cpu-timers.c
@@ -6,6 +6,7 @@
#include <linux/posix-timers.h>
#include <asm/uaccess.h>
@@ -12414,9 +12881,10 @@
static int check_clock(const clockid_t which_clock)
{
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/posix-timers.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/posix-timers.c
---- linux-2.6.16-rc5/kernel/posix-timers.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/posix-timers.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
+index 216f574..33e4b92 100644
+--- a/kernel/posix-timers.c
++++ b/kernel/posix-timers.c
@@ -47,6 +47,7 @@
#include <linux/wait.h>
#include <linux/workqueue.h>
@@ -12447,9 +12915,10 @@
rtn->tgid != current->tgid ||
(event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_SIGNAL))
return NULL;
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/printk.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/printk.c
---- linux-2.6.16-rc5/kernel/printk.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/printk.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/printk.c b/kernel/printk.c
+index 13ced0f..bbff973 100644
+--- a/kernel/printk.c
++++ b/kernel/printk.c
@@ -31,6 +31,7 @@
#include <linux/security.h>
#include <linux/bootmem.h>
@@ -12513,9 +12982,10 @@
count = len;
if (count > log_buf_len)
count = log_buf_len;
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/ptrace.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/ptrace.c
---- linux-2.6.16-rc5/kernel/ptrace.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/ptrace.c 2006-02-18 15:22:56 +0100
+diff --git a/kernel/ptrace.c b/kernel/ptrace.c
+index d95a72c..220f567 100644
+--- a/kernel/ptrace.c
++++ b/kernel/ptrace.c
@@ -18,6 +18,7 @@
#include <linux/ptrace.h>
#include <linux/security.h>
@@ -12535,9 +13005,10 @@
if (request == PTRACE_ATTACH) {
ret = ptrace_attach(child);
goto out_put_task_struct;
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/sched.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/sched.c
---- linux-2.6.16-rc5/kernel/sched.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/sched.c 2006-02-18 15:22:56 +0100
+diff --git a/kernel/sched.c b/kernel/sched.c
+index 4d46e90..545c80b 100644
+--- a/kernel/sched.c
++++ b/kernel/sched.c
@@ -52,6 +52,9 @@
#include <asm/tlb.h>
@@ -12548,7 +13019,7 @@
/*
* Convert user-nice values [ -20 ... 0 ... 19 ]
-@@ -245,6 +248,10 @@ struct runqueue {
+@@ -238,6 +241,10 @@ struct runqueue {
task_t *migration_thread;
struct list_head migration_queue;
#endif
@@ -12559,7 +13030,7 @@
#ifdef CONFIG_SCHEDSTATS
/* latency stats */
-@@ -605,6 +612,7 @@ static inline void sched_info_switch(tas
+@@ -598,6 +605,7 @@ static inline void sched_info_switch(tas
*/
static void dequeue_task(struct task_struct *p, prio_array_t *array)
{
@@ -12567,7 +13038,7 @@
array->nr_active--;
list_del(&p->run_list);
if (list_empty(array->queue + p->prio))
-@@ -613,6 +621,7 @@ static void dequeue_task(struct task_str
+@@ -606,6 +614,7 @@ static void dequeue_task(struct task_str
static void enqueue_task(struct task_struct *p, prio_array_t *array)
{
@@ -12575,7 +13046,7 @@
sched_info_queued(p);
list_add_tail(&p->run_list, array->queue + p->prio);
__set_bit(p->prio, array->bitmap);
-@@ -626,11 +635,13 @@ static void enqueue_task(struct task_str
+@@ -619,11 +628,13 @@ static void enqueue_task(struct task_str
*/
static void requeue_task(struct task_struct *p, prio_array_t *array)
{
@@ -12589,7 +13060,7 @@
list_add(&p->run_list, array->queue + p->prio);
__set_bit(p->prio, array->bitmap);
array->nr_active++;
-@@ -654,6 +665,7 @@ static inline void enqueue_task_head(str
+@@ -647,6 +658,7 @@ static inline void enqueue_task_head(str
static int effective_prio(task_t *p)
{
int bonus, prio;
@@ -12597,7 +13068,7 @@
if (rt_task(p))
return p->prio;
-@@ -661,6 +673,11 @@ static int effective_prio(task_t *p)
+@@ -654,6 +666,11 @@ static int effective_prio(task_t *p)
bonus = CURRENT_BONUS(p) - MAX_BONUS / 2;
prio = p->static_prio - bonus;
@@ -12609,7 +13080,7 @@
if (prio < MAX_RT_PRIO)
prio = MAX_RT_PRIO;
if (prio > MAX_PRIO-1)
-@@ -799,19 +816,77 @@ static void activate_task(task_t *p, run
+@@ -792,19 +809,77 @@ static void activate_task(task_t *p, run
}
p->timestamp = now;
@@ -12688,7 +13159,7 @@
/*
* resched_task - mark a task 'to be rescheduled now'.
*
-@@ -1175,6 +1250,12 @@ static int try_to_wake_up(task_t *p, uns
+@@ -1168,6 +1243,12 @@ static int try_to_wake_up(task_t *p, uns
rq = task_rq_lock(p, &flags);
old_state = p->state;
@@ -12701,7 +13172,7 @@
if (!(old_state & state))
goto out;
-@@ -1291,10 +1372,16 @@ out_activate:
+@@ -1284,10 +1365,16 @@ out_activate:
* sleep is handled in a priority-neutral manner, no priority
* boost and no penalty.)
*/
@@ -12720,7 +13191,7 @@
/*
* Sync wakeups (i.e. those types of wakeups where the waker
* has indicated that it will leave the CPU in short order)
-@@ -1418,6 +1505,7 @@ void fastcall wake_up_new_task(task_t *p
+@@ -1411,6 +1498,7 @@ void fastcall wake_up_new_task(task_t *p
p->prio = effective_prio(p);
@@ -12728,7 +13199,7 @@
if (likely(cpu == this_cpu)) {
if (!(clone_flags & CLONE_VM)) {
/*
-@@ -1429,6 +1517,7 @@ void fastcall wake_up_new_task(task_t *p
+@@ -1422,6 +1510,7 @@ void fastcall wake_up_new_task(task_t *p
__activate_task(p, rq);
else {
p->prio = current->prio;
@@ -12736,7 +13207,7 @@
list_add_tail(&p->run_list, ¤t->run_list);
p->array = current->array;
p->array->nr_active++;
-@@ -2492,13 +2581,16 @@ unsigned long long current_sched_time(co
+@@ -2485,13 +2574,16 @@ unsigned long long current_sched_time(co
void account_user_time(struct task_struct *p, cputime_t cputime)
{
struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
@@ -12754,7 +13225,7 @@
cpustat->nice = cputime64_add(cpustat->nice, tmp);
else
cpustat->user = cputime64_add(cpustat->user, tmp);
-@@ -2514,10 +2606,12 @@ void account_system_time(struct task_str
+@@ -2507,10 +2599,12 @@ void account_system_time(struct task_str
cputime_t cputime)
{
struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
@@ -12767,7 +13238,7 @@
/* Add system time to cpustat. */
tmp = cputime_to_cputime64(cputime);
-@@ -2577,6 +2671,10 @@ void scheduler_tick(void)
+@@ -2570,6 +2664,10 @@ void scheduler_tick(void)
if (p == rq->idle) {
if (wake_priority_sleeper(rq))
goto out;
@@ -12778,7 +13249,7 @@
rebalance_tick(cpu, rq, SCHED_IDLE);
return;
}
-@@ -2609,7 +2707,7 @@ void scheduler_tick(void)
+@@ -2602,7 +2700,7 @@ void scheduler_tick(void)
}
goto out_unlock;
}
@@ -12787,7 +13258,7 @@
dequeue_task(p, rq->active);
set_tsk_need_resched(p);
p->prio = effective_prio(p);
-@@ -2874,6 +2972,10 @@ asmlinkage void __sched schedule(void)
+@@ -2867,6 +2965,10 @@ asmlinkage void __sched schedule(void)
unsigned long long now;
unsigned long run_time;
int cpu, idx, new_prio;
@@ -12798,7 +13269,7 @@
/*
* Test if we are atomic. Since do_exit() needs to call into
-@@ -2933,12 +3035,41 @@ need_resched_nonpreemptible:
+@@ -2926,12 +3028,41 @@ need_resched_nonpreemptible:
unlikely(signal_pending(prev))))
prev->state = TASK_RUNNING;
else {
@@ -12841,7 +13312,7 @@
cpu = smp_processor_id();
if (unlikely(!rq->nr_running)) {
go_idle:
-@@ -2986,6 +3117,22 @@ go_idle:
+@@ -2979,6 +3110,22 @@ go_idle:
queue = array->queue + idx;
next = list_entry(queue->next, task_t, run_list);
@@ -12864,7 +13335,7 @@
if (!rt_task(next) && next->activated > 0) {
unsigned long long delta = now - next->timestamp;
if (unlikely((long long)(now - next->timestamp) < 0))
-@@ -3541,7 +3688,7 @@ asmlinkage long sys_nice(int increment)
+@@ -3534,7 +3681,7 @@ asmlinkage long sys_nice(int increment)
nice = 19;
if (increment < 0 && !can_nice(current, nice))
@@ -12873,7 +13344,7 @@
retval = security_task_setnice(current, nice);
if (retval)
-@@ -3701,6 +3848,7 @@ recheck:
+@@ -3694,6 +3841,7 @@ recheck:
oldprio = p->prio;
__setscheduler(p, policy, param->sched_priority);
if (array) {
@@ -12881,7 +13352,7 @@
__activate_task(p, rq);
/*
* Reschedule if we are currently running on this runqueue and
-@@ -6041,6 +6189,9 @@ void __init sched_init(void)
+@@ -6037,6 +6185,9 @@ void __init sched_init(void)
INIT_LIST_HEAD(&rq->migration_queue);
#endif
atomic_set(&rq->nr_iowait, 0);
@@ -12891,7 +13362,7 @@
for (j = 0; j < 2; j++) {
array = rq->arrays + j;
-@@ -6110,6 +6261,7 @@ void normalize_rt_tasks(void)
+@@ -6106,6 +6257,7 @@ void normalize_rt_tasks(void)
deactivate_task(p, task_rq(p));
__setscheduler(p, SCHED_NORMAL, 0);
if (array) {
@@ -12899,9 +13370,10 @@
__activate_task(p, task_rq(p));
resched_task(rq->curr);
}
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/signal.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/signal.c
---- linux-2.6.16-rc5/kernel/signal.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/signal.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/signal.c b/kernel/signal.c
+index ea15410..4f5185f 100644
+--- a/kernel/signal.c
++++ b/kernel/signal.c
@@ -26,6 +26,7 @@
#include <linux/signal.h>
#include <linux/audit.h>
@@ -12952,9 +13424,10 @@
if (sig_kernel_stop(signr)) {
/*
* The default action is to stop all threads in
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/sys.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/sys.c
---- linux-2.6.16-rc5/kernel/sys.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/sys.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/sys.c b/kernel/sys.c
+index f91218a..6084bf4 100644
+--- a/kernel/sys.c
++++ b/kernel/sys.c
@@ -11,6 +11,7 @@
#include <linux/mman.h>
#include <linux/smp_lock.h>
@@ -13189,9 +13662,10 @@
return -EPERM;
if (resource == RLIMIT_NOFILE && new_rlim.rlim_max > NR_OPEN)
return -EPERM;
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/sysctl.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/sysctl.c
---- linux-2.6.16-rc5/kernel/sysctl.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/sysctl.c 2006-02-28 15:24:34 +0100
+diff --git a/kernel/sysctl.c b/kernel/sysctl.c
+index 32b48e8..f81b394 100644
+--- a/kernel/sysctl.c
++++ b/kernel/sysctl.c
@@ -46,6 +46,7 @@
#include <linux/syscalls.h>
#include <linux/nfs_fs.h>
@@ -13200,7 +13674,7 @@
#include <asm/uaccess.h>
#include <asm/processor.h>
-@@ -86,6 +87,7 @@ static int ngroups_max = NGROUPS_MAX;
+@@ -89,6 +90,7 @@ static int ngroups_max = NGROUPS_MAX;
#ifdef CONFIG_KMOD
extern char modprobe_path[];
#endif
@@ -13208,7 +13682,7 @@
#ifdef CONFIG_CHR_DEV_SG
extern int sg_big_buff;
#endif
-@@ -230,6 +232,7 @@ static ctl_table kern_table[] = {
+@@ -237,6 +239,7 @@ static ctl_table kern_table[] = {
.maxlen = sizeof(system_utsname.sysname),
.mode = 0444,
.proc_handler = &proc_doutsstring,
@@ -13216,7 +13690,7 @@
.strategy = &sysctl_string,
},
{
-@@ -239,6 +242,7 @@ static ctl_table kern_table[] = {
+@@ -246,6 +249,7 @@ static ctl_table kern_table[] = {
.maxlen = sizeof(system_utsname.release),
.mode = 0444,
.proc_handler = &proc_doutsstring,
@@ -13224,7 +13698,7 @@
.strategy = &sysctl_string,
},
{
-@@ -248,6 +252,7 @@ static ctl_table kern_table[] = {
+@@ -255,6 +259,7 @@ static ctl_table kern_table[] = {
.maxlen = sizeof(system_utsname.version),
.mode = 0444,
.proc_handler = &proc_doutsstring,
@@ -13232,7 +13706,7 @@
.strategy = &sysctl_string,
},
{
-@@ -257,6 +262,7 @@ static ctl_table kern_table[] = {
+@@ -264,6 +269,7 @@ static ctl_table kern_table[] = {
.maxlen = sizeof(system_utsname.nodename),
.mode = 0644,
.proc_handler = &proc_doutsstring,
@@ -13240,7 +13714,7 @@
.strategy = &sysctl_string,
},
{
-@@ -266,6 +272,7 @@ static ctl_table kern_table[] = {
+@@ -273,6 +279,7 @@ static ctl_table kern_table[] = {
.maxlen = sizeof(system_utsname.domainname),
.mode = 0644,
.proc_handler = &proc_doutsstring,
@@ -13248,7 +13722,7 @@
.strategy = &sysctl_string,
},
{
-@@ -402,6 +409,15 @@ static ctl_table kern_table[] = {
+@@ -409,6 +416,15 @@ static ctl_table kern_table[] = {
.strategy = &sysctl_string,
},
#endif
@@ -13264,7 +13738,7 @@
#ifdef CONFIG_CHR_DEV_SG
{
.ctl_name = KERN_SG_BIG_BUFF,
-@@ -1547,16 +1563,20 @@ static ssize_t proc_writesys(struct file
+@@ -1564,16 +1580,20 @@ static ssize_t proc_writesys(struct file
int proc_dostring(ctl_table *table, int write, struct file *filp,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
@@ -13292,7 +13766,7 @@
if (write) {
len = 0;
p = buffer;
-@@ -1567,20 +1587,20 @@ int proc_dostring(ctl_table *table, int
+@@ -1584,20 +1604,20 @@ int proc_dostring(ctl_table *table, int
break;
len++;
}
@@ -13321,9 +13795,10 @@
return -EFAULT;
if (len < *lenp) {
if(put_user('\n', ((char __user *) buffer) + len))
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/timer.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/timer.c
---- linux-2.6.16-rc5/kernel/timer.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/timer.c 2006-02-18 15:22:56 +0100
+diff --git a/kernel/timer.c b/kernel/timer.c
+index bf7c419..a709b8a 100644
+--- a/kernel/timer.c
++++ b/kernel/timer.c
@@ -34,6 +34,8 @@
#include <linux/cpu.h>
#include <linux/syscalls.h>
@@ -13333,7 +13808,7 @@
#include <asm/uaccess.h>
#include <asm/unistd.h>
-@@ -954,12 +956,6 @@ asmlinkage unsigned long sys_alarm(unsig
+@@ -972,12 +974,6 @@ asmlinkage unsigned long sys_alarm(unsig
#endif
@@ -13346,7 +13821,7 @@
/**
* sys_getpid - return the thread group id of the current process
-@@ -972,7 +968,7 @@ asmlinkage unsigned long sys_alarm(unsig
+@@ -990,7 +986,7 @@ asmlinkage unsigned long sys_alarm(unsig
*/
asmlinkage long sys_getpid(void)
{
@@ -13355,14 +13830,14 @@
}
/*
-@@ -1016,9 +1012,23 @@ asmlinkage long sys_getppid(void)
+@@ -1034,9 +1030,23 @@ asmlinkage long sys_getppid(void)
#endif
break;
}
- return pid;
+ return vx_map_pid(pid);
-+}
-+
+ }
+
+#ifdef __alpha__
+
+/*
@@ -13373,14 +13848,14 @@
+{
+ *ppid = sys_getppid();
+ return sys_getpid();
- }
-
++}
++
+#else /* _alpha_ */
+
asmlinkage long sys_getuid(void)
{
/* Only we change this so SMP safe */
-@@ -1179,6 +1189,8 @@ asmlinkage long sys_sysinfo(struct sysin
+@@ -1197,6 +1207,8 @@ asmlinkage long sys_sysinfo(struct sysin
tp.tv_nsec = tp.tv_nsec - NSEC_PER_SEC;
tp.tv_sec++;
}
@@ -13389,9 +13864,10 @@
val.uptime = tp.tv_sec + (tp.tv_nsec ? 1 : 0);
val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/user.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/user.c
---- linux-2.6.16-rc5/kernel/user.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/user.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/user.c b/kernel/user.c
+index d9deae4..155084e 100644
+--- a/kernel/user.c
++++ b/kernel/user.c
@@ -23,8 +23,8 @@
#define UIDHASH_BITS (CONFIG_BASE_SMALL ? 3 : 8)
#define UIDHASH_SZ (1 << UIDHASH_BITS)
@@ -13480,9 +13956,11 @@
spin_unlock_irq(&uidhash_lock);
return 0;
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/Kconfig linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/Kconfig
---- linux-2.6.16-rc5/kernel/vserver/Kconfig 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/Kconfig 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/Kconfig b/kernel/vserver/Kconfig
+new file mode 100644
+index 0000000..2658bc7
+--- /dev/null
++++ b/kernel/vserver/Kconfig
@@ -0,0 +1,179 @@
+#
+# Linux VServer configuration
@@ -13663,9 +14141,11 @@
+
+endmenu
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/Makefile linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/Makefile
---- linux-2.6.16-rc5/kernel/vserver/Makefile 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/Makefile 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/Makefile b/kernel/vserver/Makefile
+new file mode 100644
+index 0000000..19cd988
+--- /dev/null
++++ b/kernel/vserver/Makefile
@@ -0,0 +1,16 @@
+#
+# Makefile for the Linux vserver routines.
@@ -13683,10 +14163,12 @@
+vserver-$(CONFIG_VSERVER_LEGACYNET) += legacynet.o
+vserver-$(CONFIG_VSERVER_HISTORY) += history.o
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/context.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/context.c
---- linux-2.6.16-rc5/kernel/vserver/context.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/context.c 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,807 @@
+diff --git a/kernel/vserver/context.c b/kernel/vserver/context.c
+new file mode 100644
+index 0000000..3542996
+--- /dev/null
++++ b/kernel/vserver/context.c
+@@ -0,0 +1,889 @@
+/*
+ * linux/kernel/vserver/context.c
+ *
@@ -13721,6 +14203,7 @@
+#include <linux/vserver/limit_int.h>
+
+#include <linux/vs_context.h>
++#include <linux/vs_limit.h>
+#include <linux/vserver/context_cmd.h>
+
+#include <linux/err.h>
@@ -13756,6 +14239,10 @@
+ new->vx_state = 0;
+ init_waitqueue_head(&new->vx_wait);
+
++ /* prepare reaper */
++ get_task_struct(child_reaper);
++ new->vx_reaper = child_reaper;
++
+ /* rest of init goes here */
+ vx_info_init_limit(&new->limit);
+ vx_info_init_sched(&new->sched);
@@ -14078,12 +14565,12 @@
+}
+
+
-+/* locate_vx_info()
++/* lookup_vx_info()
+
+ * search for a vx_info and get() it
+ * negative id means current */
+
-+struct vx_info *locate_vx_info(int id)
++struct vx_info *lookup_vx_info(int id)
+{
+ struct vx_info *vxi = NULL;
+
@@ -14113,7 +14600,7 @@
+
+#ifdef CONFIG_VSERVER_LEGACY
+
-+struct vx_info *locate_or_create_vx_info(int id)
++struct vx_info *lookup_or_create_vx_info(int id)
+{
+ int err;
+
@@ -14175,10 +14662,8 @@
+ return 0;
+}
+
-+void vx_mask_bcaps(struct task_struct *p)
++void vx_mask_bcaps(struct vx_info *vxi, struct task_struct *p)
+{
-+ struct vx_info *vxi = p->vx_info;
-+
+ p->cap_effective &= vxi->vx_bcaps;
+ p->cap_inheritable &= vxi->vx_bcaps;
+ p->cap_permitted &= vxi->vx_bcaps;
@@ -14260,7 +14745,7 @@
+ "moved task %p into vxi:%p[#%d]",
+ p, vxi, vxi->vx_id);
+
-+ vx_mask_bcaps(p);
++ vx_mask_bcaps(vxi, p);
+ task_unlock(p);
+ }
+out:
@@ -14268,12 +14753,32 @@
+ return ret;
+}
+
++int vx_set_reaper(struct vx_info *vxi, struct task_struct *p)
++{
++ struct task_struct *old_reaper;
++
++ if (!vxi)
++ return -EINVAL;
++
++ vxdprintk(VXD_CBIT(xid, 6),
++ "vx_set_reaper(%p[#%d],%p[#%d,%d])",
++ vxi, vxi->vx_id, p, p->xid, p->pid);
++
++ old_reaper = vxi->vx_reaper;
++ if (old_reaper == p)
++ return 0;
++
++ /* set new child reaper */
++ get_task_struct(p);
++ vxi->vx_reaper = p;
++ put_task_struct(old_reaper);
++ return 0;
++}
++
+int vx_set_init(struct vx_info *vxi, struct task_struct *p)
+{
+ if (!vxi)
+ return -EINVAL;
-+ if (vxi->vx_initpid)
-+ return -EPERM;
+
+ vxdprintk(VXD_CBIT(xid, 6),
+ "vx_set_init(%p[#%d],%p[#%d,%d,%d])",
@@ -14283,6 +14788,48 @@
+ return 0;
+}
+
++void vx_exit_init(struct vx_info *vxi, struct task_struct *p)
++{
++ vxdprintk(VXD_CBIT(xid, 6),
++ "vx_exit_init(%p[#%d],%p[#%d,%d,%d])",
++ vxi, vxi->vx_id, p, p->xid, p->pid, p->tgid);
++
++ vxi->vx_initpid = 0;
++}
++
++void vx_set_persistent(struct vx_info *vxi)
++{
++ vxdprintk(VXD_CBIT(xid, 6),
++ "vx_set_persistent(%p[#%d])", vxi, vxi->vx_id);
++
++ if (vx_info_flags(vxi, VXF_PERSISTENT, 0)) {
++ get_vx_info(vxi);
++ claim_vx_info(vxi, current);
++ } else {
++ release_vx_info(vxi, current);
++ put_vx_info(vxi);
++ }
++}
++
++
++/* task must be current or locked */
++
++void exit_vx_info(struct task_struct *p)
++{
++ struct vx_info *vxi = p->vx_info;
++
++ if (vxi) {
++ atomic_dec(&vxi->cvirt.nr_threads);
++ vx_nproc_dec(p);
++
++ if (vxi->vx_initpid == p->tgid)
++ vx_exit_init(vxi, p);
++ if (vxi->vx_reaper == p)
++ vx_set_reaper(vxi, child_reaper);
++ release_vx_info(vxi, p);
++ }
++}
++
+
+/* vserver syscall commands below here */
+
@@ -14322,7 +14869,7 @@
+ if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SYS_RESOURCE))
+ return -EPERM;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -14361,6 +14908,10 @@
+ /* initial flags */
+ new_vxi->vx_flags = vc_data.flagword;
+
++ /* get a reference for persistent contexts */
++ if ((vc_data.flagword & VXF_PERSISTENT))
++ vx_set_persistent(new_vxi);
++
+ vs_state_change(new_vxi, VSC_STARTUP);
+ ret = new_vxi->vx_id;
+ vx_migrate_task(current, new_vxi);
@@ -14372,10 +14923,13 @@
+
+int vc_ctx_migrate(uint32_t id, void __user *data)
+{
++ struct vcmd_ctx_migrate vc_data = { .flagword = 0 };
+ struct vx_info *vxi;
+
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
++ if (data && copy_from_user (&vc_data, data, sizeof(vc_data)))
++ return -EFAULT;
+
+ /* dirty hack until Spectator becomes a cap */
+ if (id == 1) {
@@ -14383,10 +14937,14 @@
+ return 0;
+ }
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+ vx_migrate_task(current, vxi);
++ if (vc_data.flagword & VXM_SET_INIT)
++ vx_set_init(vxi, current);
++ if (vc_data.flagword & VXM_SET_REAPER)
++ vx_set_reaper(vxi, current);
+ put_vx_info(vxi);
+ return 0;
+}
@@ -14400,7 +14958,7 @@
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -14427,7 +14985,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -14435,14 +14993,20 @@
+ mask = vx_mask_mask(vc_data.mask, vxi->vx_flags, VXF_ONE_TIME);
+ trigger = (mask & vxi->vx_flags) ^ (mask & vc_data.flagword);
+
-+ if (trigger & VXF_STATE_SETUP)
-+ vx_mask_bcaps(current);
-+ if (trigger & VXF_STATE_INIT)
-+ if (vxi == current->vx_info)
++ if (vxi == current->vx_info) {
++ if (trigger & VXF_STATE_SETUP)
++ vx_mask_bcaps(vxi, current);
++ if (trigger & VXF_STATE_INIT) {
+ vx_set_init(vxi, current);
++ vx_set_reaper(vxi, current);
++ }
++ }
+
+ vxi->vx_flags = vx_mask_flags(vxi->vx_flags,
+ vc_data.flagword, mask);
++ if (trigger & VXF_PERSISTENT)
++ vx_set_persistent(vxi);
++
+ put_vx_info(vxi);
+ return 0;
+}
@@ -14455,7 +15019,7 @@
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -14479,7 +15043,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -14494,9 +15058,11 @@
+
+EXPORT_SYMBOL_GPL(free_vx_info);
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/cvirt.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/cvirt.c
---- linux-2.6.16-rc5/kernel/vserver/cvirt.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/cvirt.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/cvirt.c b/kernel/vserver/cvirt.c
+new file mode 100644
+index 0000000..4805303
+--- /dev/null
++++ b/kernel/vserver/cvirt.c
@@ -0,0 +1,259 @@
+/*
+ * linux/kernel/vserver/cvirt.c
@@ -14722,7 +15288,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -14742,7 +15308,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -14757,9 +15323,11 @@
+ put_vx_info(vxi);
+ return (name ? 0 : -EFAULT);
+}
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/cvirt_init.h linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/cvirt_init.h
---- linux-2.6.16-rc5/kernel/vserver/cvirt_init.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/cvirt_init.h 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/cvirt_init.h b/kernel/vserver/cvirt_init.h
+new file mode 100644
+index 0000000..d2e6d47
+--- /dev/null
++++ b/kernel/vserver/cvirt_init.h
@@ -0,0 +1,83 @@
+
+#include <linux/config.h>
@@ -14796,8 +15364,8 @@
+ cvirt->load[0] = 0;
+ cvirt->load[1] = 0;
+ cvirt->load[2] = 0;
-+
+ atomic_set(&cvirt->total_forks, 0);
++
+ spin_lock_init(&cvirt->syslog.logbuf_lock);
+ init_waitqueue_head(&cvirt->syslog.log_wait);
+ cvirt->syslog.log_start = 0;
@@ -14844,9 +15412,11 @@
+ return;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/cvirt_proc.h linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/cvirt_proc.h
---- linux-2.6.16-rc5/kernel/vserver/cvirt_proc.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/cvirt_proc.h 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/cvirt_proc.h b/kernel/vserver/cvirt_proc.h
+new file mode 100644
+index 0000000..9143c2d
+--- /dev/null
++++ b/kernel/vserver/cvirt_proc.h
@@ -0,0 +1,92 @@
+#ifndef _VX_CVIRT_PROC_H
+#define _VX_CVIRT_PROC_H
@@ -14940,9 +15510,11 @@
+}
+
+#endif /* _VX_CVIRT_PROC_H */
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/dlimit.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/dlimit.c
---- linux-2.6.16-rc5/kernel/vserver/dlimit.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/dlimit.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/dlimit.c b/kernel/vserver/dlimit.c
+new file mode 100644
+index 0000000..6978817
+--- /dev/null
++++ b/kernel/vserver/dlimit.c
@@ -0,0 +1,552 @@
+/*
+ * linux/kernel/vserver/dlimit.c
@@ -15496,10 +16068,12 @@
+EXPORT_SYMBOL_GPL(locate_dl_info);
+EXPORT_SYMBOL_GPL(rcu_free_dl_info);
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/helper.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/helper.c
---- linux-2.6.16-rc5/kernel/vserver/helper.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/helper.c 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,174 @@
+diff --git a/kernel/vserver/helper.c b/kernel/vserver/helper.c
+new file mode 100644
+index 0000000..d9a38be
+--- /dev/null
++++ b/kernel/vserver/helper.c
+@@ -0,0 +1,200 @@
+/*
+ * linux/kernel/vserver/helper.c
+ *
@@ -15518,6 +16092,7 @@
+#include <linux/reboot.h>
+#include <linux/vs_context.h>
+#include <linux/vs_network.h>
++#include <linux/vserver/signal.h>
+
+#include <asm/uaccess.h>
+#include <asm/unistd.h>
@@ -15554,7 +16129,7 @@
+ * envp [*] = type-specific parameters
+ */
+
-+long vs_reboot(unsigned int cmd, void * arg)
++long vs_reboot_helper(struct vx_info *vxi, int cmd, void *arg)
+{
+ char id_buf[8], cmd_buf[16];
+ char uid_buf[16], pid_buf[16];
@@ -15565,7 +16140,7 @@
+ "PATH=/sbin:/usr/sbin:/bin:/usr/bin",
+ uid_buf, pid_buf, cmd_buf, 0};
+
-+ snprintf(id_buf, sizeof(id_buf)-1, "%d", vx_current_xid());
++ snprintf(id_buf, sizeof(id_buf)-1, "%d", vxi->vx_id);
+
+ snprintf(cmd_buf, sizeof(cmd_buf)-1, "VS_CMD=%08x", cmd);
+ snprintf(uid_buf, sizeof(uid_buf)-1, "VS_UID=%d", current->uid);
@@ -15601,6 +16176,31 @@
+}
+
+
++long vs_reboot(unsigned int cmd, void * arg)
++{
++ struct vx_info *vxi = current->vx_info;
++ long ret = 0;
++
++ vxdprintk(VXD_CBIT(misc, 5),
++ "vs_reboot(%p[#%d],%d)",
++ vxi, vxi?vxi->vx_id:0, cmd);
++ if (vx_info_flags(vxi, VXF_REBOOT_KILL, 0)) {
++ switch (cmd) {
++ case LINUX_REBOOT_CMD_RESTART:
++ case LINUX_REBOOT_CMD_HALT:
++ case LINUX_REBOOT_CMD_POWER_OFF:
++ vx_info_kill(vxi, 0, SIGKILL);
++ vx_info_kill(vxi, 1, SIGKILL);
++ default:
++ break;
++ }
++ } else {
++ ret = vs_reboot_helper(vxi, cmd, arg);
++ }
++ return ret;
++}
++
++
+/*
+ * argv [0] = vshelper_path;
+ * argv [1] = action: "startup", "shutdown"
@@ -15616,7 +16216,7 @@
+ char *envp[] = {"HOME=/", "TERM=linux",
+ "PATH=/sbin:/usr/sbin:/bin:/usr/bin", cmd_buf, 0};
+
-+ if (!vx_info_flags(vxi, VXF_STATE_HELPER, 0))
++ if (!vx_info_flags(vxi, VXF_SC_HELPER, 0))
+ return 0;
+
+ snprintf(id_buf, sizeof(id_buf)-1, "%d", vxi->vx_id);
@@ -15653,7 +16253,7 @@
+ char *envp[] = {"HOME=/", "TERM=linux",
+ "PATH=/sbin:/usr/sbin:/bin:/usr/bin", cmd_buf, 0};
+
-+ if (!nx_info_flags(nxi, NXF_STATE_HELPER, 0))
++ if (!nx_info_flags(nxi, NXF_SC_HELPER, 0))
+ return 0;
+
+ snprintf(id_buf, sizeof(id_buf)-1, "%d", nxi->nx_id);
@@ -15674,9 +16274,11 @@
+ return 0;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/history.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/history.c
---- linux-2.6.16-rc5/kernel/vserver/history.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/history.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/history.c b/kernel/vserver/history.c
+new file mode 100644
+index 0000000..79610c0
+--- /dev/null
++++ b/kernel/vserver/history.c
@@ -0,0 +1,184 @@
+/*
+ * kernel/vserver/history.c
@@ -15862,9 +16464,11 @@
+
+EXPORT_SYMBOL_GPL(vxh_advance);
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/init.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/init.c
---- linux-2.6.16-rc5/kernel/vserver/init.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/init.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/init.c b/kernel/vserver/init.c
+new file mode 100644
+index 0000000..d2e300e
+--- /dev/null
++++ b/kernel/vserver/init.c
@@ -0,0 +1,44 @@
+/*
+ * linux/kernel/init.c
@@ -15910,9 +16514,11 @@
+module_init(init_vserver);
+module_exit(exit_vserver);
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/inode.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/inode.c
---- linux-2.6.16-rc5/kernel/vserver/inode.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/inode.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/inode.c b/kernel/vserver/inode.c
+new file mode 100644
+index 0000000..fe7f6a5
+--- /dev/null
++++ b/kernel/vserver/inode.c
@@ -0,0 +1,369 @@
+/*
+ * linux/kernel/vserver/inode.c
@@ -16283,10 +16889,12 @@
+
+EXPORT_SYMBOL_GPL(vx_propagate_xid);
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/legacy.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/legacy.c
---- linux-2.6.16-rc5/kernel/vserver/legacy.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/legacy.c 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,108 @@
+diff --git a/kernel/vserver/legacy.c b/kernel/vserver/legacy.c
+new file mode 100644
+index 0000000..cd87ccd
+--- /dev/null
++++ b/kernel/vserver/legacy.c
+@@ -0,0 +1,111 @@
+/*
+ * linux/kernel/vserver/legacy.c
+ *
@@ -16310,14 +16918,17 @@
+#include <asm/uaccess.h>
+
+
++extern int vx_set_init(struct vx_info *, struct task_struct *);
+
+static int vx_set_initpid(struct vx_info *vxi, int pid)
+{
-+ if (vxi->vx_initpid)
-+ return -EPERM;
++ struct task_struct *init;
+
-+ vxi->vx_initpid = pid;
-+ return 0;
++ init = find_task_by_real_pid(pid);
++ if (!init)
++ return -ESRCH;
++
++ return vx_set_init(vxi, init);
+}
+
+int vc_new_s_context(uint32_t ctx, void __user *data)
@@ -16362,9 +16973,9 @@
+ return -EINVAL;
+
+ if ((ctx == VX_DYNAMIC_ID) || (ctx < MIN_D_CONTEXT))
-+ new_vxi = locate_or_create_vx_info(ctx);
++ new_vxi = lookup_or_create_vx_info(ctx);
+ else
-+ new_vxi = locate_vx_info(ctx);
++ new_vxi = lookup_vx_info(ctx);
+
+ if (!new_vxi)
+ return -EINVAL;
@@ -16395,9 +17006,11 @@
+ return ret;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/legacynet.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/legacynet.c
---- linux-2.6.16-rc5/kernel/vserver/legacynet.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/legacynet.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/legacynet.c b/kernel/vserver/legacynet.c
+new file mode 100644
+index 0000000..2df0af9
+--- /dev/null
++++ b/kernel/vserver/legacynet.c
@@ -0,0 +1,85 @@
+
+/*
@@ -16484,9 +17097,11 @@
+}
+
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/limit.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/limit.c
---- linux-2.6.16-rc5/kernel/vserver/limit.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/limit.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/limit.c b/kernel/vserver/limit.c
+new file mode 100644
+index 0000000..435ef51
+--- /dev/null
++++ b/kernel/vserver/limit.c
@@ -0,0 +1,177 @@
+/*
+ * linux/kernel/vserver/limit.c
@@ -16571,7 +17186,7 @@
+ if (!is_valid_rlimit(vc_data.id))
+ return -ENOTSUPP;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -16597,7 +17212,7 @@
+ if (!is_valid_rlimit(vc_data.id))
+ return -ENOTSUPP;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -16665,9 +17280,11 @@
+ return;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/limit_init.h linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/limit_init.h
---- linux-2.6.16-rc5/kernel/vserver/limit_init.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/limit_init.h 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/limit_init.h b/kernel/vserver/limit_init.h
+new file mode 100644
+index 0000000..74599e9
+--- /dev/null
++++ b/kernel/vserver/limit_init.h
@@ -0,0 +1,34 @@
+
+#include <linux/config.h>
@@ -16703,9 +17320,11 @@
+#endif
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/limit_proc.h linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/limit_proc.h
---- linux-2.6.16-rc5/kernel/vserver/limit_proc.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/limit_proc.h 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/limit_proc.h b/kernel/vserver/limit_proc.h
+new file mode 100644
+index 0000000..f318277
+--- /dev/null
++++ b/kernel/vserver/limit_proc.h
@@ -0,0 +1,58 @@
+#ifndef _VX_LIMIT_PROC_H
+#define _VX_LIMIT_PROC_H
@@ -16765,9 +17384,11 @@
+#endif /* _VX_LIMIT_PROC_H */
+
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/namespace.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/namespace.c
---- linux-2.6.16-rc5/kernel/vserver/namespace.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/namespace.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/namespace.c b/kernel/vserver/namespace.c
+new file mode 100644
+index 0000000..a40e0e8
+--- /dev/null
++++ b/kernel/vserver/namespace.c
@@ -0,0 +1,123 @@
+/*
+ * linux/kernel/vserver/namespace.c
@@ -16827,7 +17448,7 @@
+ if (!vx_check(0, VX_ADMIN))
+ return -ENOSYS;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -16873,11 +17494,11 @@
+ struct vx_info *vxi;
+ int ret;
+
-+ if (vx_check(0, VX_ADMIN|VX_WATCH))
-+ return -ENOSYS;
++ vxi = lookup_vx_info(id);
++ if (!vxi)
++ return -ESRCH;
+
+ task_lock(current);
-+ vxi = get_vx_info(current->vx_info);
+ fs = current->fs;
+ atomic_inc(&fs->count);
+ ns = current->namespace;
@@ -16892,10 +17513,12 @@
+ return ret;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/network.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/network.c
---- linux-2.6.16-rc5/kernel/vserver/network.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/network.c 2006-02-18 19:45:38 +0100
-@@ -0,0 +1,766 @@
+diff --git a/kernel/vserver/network.c b/kernel/vserver/network.c
+new file mode 100644
+index 0000000..b5f3578
+--- /dev/null
++++ b/kernel/vserver/network.c
+@@ -0,0 +1,784 @@
+/*
+ * linux/kernel/vserver/network.c
+ *
@@ -17180,12 +17803,12 @@
+
+#endif
+
-+/* locate_nx_info()
++/* lookup_nx_info()
+
+ * search for a nx_info and get() it
+ * negative id means current */
+
-+struct nx_info *locate_nx_info(int id)
++struct nx_info *lookup_nx_info(int id)
+{
+ struct nx_info *nxi = NULL;
+
@@ -17385,6 +18008,17 @@
+
+#endif /* CONFIG_INET */
+
++void nx_set_persistent(struct nx_info *nxi)
++{
++ if (nx_info_flags(nxi, NXF_PERSISTENT, 0)) {
++ get_nx_info(nxi);
++ claim_nx_info(nxi, current);
++ } else {
++ release_nx_info(nxi, current);
++ put_nx_info(nxi);
++ }
++}
++
+/* vserver syscall commands below here */
+
+/* taks nid and nx_info functions */
@@ -17408,7 +18042,7 @@
+ read_unlock(&tasklist_lock);
+ }
+ else
-+ nid = current->nid;
++ nid = nx_current_nid();
+ return nid;
+}
+
@@ -17423,7 +18057,7 @@
+ if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SYS_RESOURCE))
+ return -EPERM;
+
-+ nxi = locate_nx_info(id);
++ nxi = lookup_nx_info(id);
+ if (!nxi)
+ return -ESRCH;
+
@@ -17461,6 +18095,10 @@
+ /* initial flags */
+ new_nxi->nx_flags = vc_data.flagword;
+
++ /* get a reference for persistent contexts */
++ if ((vc_data.flagword & NXF_PERSISTENT))
++ nx_set_persistent(new_nxi);
++
+ vs_net_change(new_nxi, VSC_NETUP);
+ ret = new_nxi->nx_id;
+ nx_migrate_task(current, new_nxi);
@@ -17477,7 +18115,7 @@
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
-+ nxi = locate_nx_info(id);
++ nxi = lookup_nx_info(id);
+ if (!nxi)
+ return -ESRCH;
+ nx_migrate_task(current, nxi);
@@ -17506,7 +18144,7 @@
+ break;
+ }
+
-+ nxi = locate_nx_info(nid);
++ nxi = lookup_nx_info(nid);
+ if (!nxi)
+ return -ESRCH;
+
@@ -17548,7 +18186,7 @@
+ if (data && copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ nxi = locate_nx_info(nid);
++ nxi = lookup_nx_info(nid);
+ if (!nxi)
+ return -ESRCH;
+
@@ -17574,7 +18212,7 @@
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
-+ nxi = locate_nx_info(id);
++ nxi = lookup_nx_info(id);
+ if (!nxi)
+ return -ESRCH;
+
@@ -17601,7 +18239,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ nxi = locate_nx_info(id);
++ nxi = lookup_nx_info(id);
+ if (!nxi)
+ return -ESRCH;
+
@@ -17611,6 +18249,9 @@
+
+ nxi->nx_flags = vx_mask_flags(nxi->nx_flags,
+ vc_data.flagword, mask);
++ if (trigger & NXF_PERSISTENT)
++ nx_set_persistent(nxi);
++
+ put_nx_info(nxi);
+ return 0;
+}
@@ -17623,7 +18264,7 @@
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
-+ nxi = locate_nx_info(id);
++ nxi = lookup_nx_info(id);
+ if (!nxi)
+ return -ESRCH;
+
@@ -17646,7 +18287,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ nxi = locate_nx_info(id);
++ nxi = lookup_nx_info(id);
+ if (!nxi)
+ return -ESRCH;
+
@@ -17662,10 +18303,12 @@
+EXPORT_SYMBOL_GPL(free_nx_info);
+EXPORT_SYMBOL_GPL(unhash_nx_info);
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/proc.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/proc.c
---- linux-2.6.16-rc5/kernel/vserver/proc.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/proc.c 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,862 @@
+diff --git a/kernel/vserver/proc.c b/kernel/vserver/proc.c
+new file mode 100644
+index 0000000..8c196d0
+--- /dev/null
++++ b/kernel/vserver/proc.c
+@@ -0,0 +1,864 @@
+/*
+ * linux/kernel/vserver/proc.c
+ *
@@ -17744,7 +18387,7 @@
+ struct vx_info *vxi;
+ int length;
+
-+ vxi = locate_vx_info(vid);
++ vxi = lookup_vx_info(vid);
+ if (!vxi)
+ return 0;
+ length = sprintf(buffer,
@@ -17764,7 +18407,7 @@
+ struct vx_info *vxi;
+ int length;
+
-+ vxi = locate_vx_info(vid);
++ vxi = lookup_vx_info(vid);
+ if (!vxi)
+ return 0;
+ length = sprintf(buffer,
@@ -17790,7 +18433,7 @@
+ struct vx_info *vxi;
+ int length;
+
-+ vxi = locate_vx_info(vid);
++ vxi = lookup_vx_info(vid);
+ if (!vxi)
+ return 0;
+ length = vx_info_proc_limit(&vxi->limit, buffer);
@@ -17803,7 +18446,7 @@
+ struct vx_info *vxi;
+ int length;
+
-+ vxi = locate_vx_info(vid);
++ vxi = lookup_vx_info(vid);
+ if (!vxi)
+ return 0;
+ length = vx_info_proc_sched(&vxi->sched, buffer);
@@ -17816,7 +18459,7 @@
+ struct vx_info *vxi;
+ int length;
+
-+ vxi = locate_vx_info(vid);
++ vxi = lookup_vx_info(vid);
+ if (!vxi)
+ return 0;
+ vx_update_load(vxi);
@@ -17830,7 +18473,7 @@
+ struct vx_info *vxi;
+ int length;
+
-+ vxi = locate_vx_info(vid);
++ vxi = lookup_vx_info(vid);
+ if (!vxi)
+ return 0;
+ length = vx_info_proc_cacct(&vxi->cacct, buffer);
@@ -17859,7 +18502,7 @@
+ struct nx_info *nxi;
+ int length, i;
+
-+ nxi = locate_nx_info(vid);
++ nxi = lookup_nx_info(vid);
+ if (!nxi)
+ return 0;
+ length = sprintf(buffer,
@@ -17883,7 +18526,7 @@
+ struct nx_info *nxi;
+ int length;
+
-+ nxi = locate_nx_info(vid);
++ nxi = lookup_nx_info(vid);
+ if (!nxi)
+ return 0;
+ length = sprintf(buffer,
@@ -18221,7 +18864,7 @@
+ xid = atovid(name, len);
+ if (xid < 0)
+ goto out;
-+ vxi = locate_vx_info(xid);
++ vxi = lookup_vx_info(xid);
+ if (!vxi)
+ goto out;
+
@@ -18232,7 +18875,7 @@
+ if (!inode)
+ goto out_release;
+
-+ inode->i_mode = S_IFDIR|S_IRUGO;
++ inode->i_mode = S_IFDIR|S_IRUGO|S_IXUGO;
+ inode->i_op = &proc_vid_inode_operations;
+ inode->i_fop = &proc_vid_file_operations;
+ inode->i_nlink = 2;
@@ -18287,7 +18930,7 @@
+ nid = atovid(name, len);
+ if (nid < 0)
+ goto out;
-+ nxi = locate_nx_info(nid);
++ nxi = lookup_nx_info(nid);
+ if (!nxi)
+ goto out;
+
@@ -18298,7 +18941,7 @@
+ if (!inode)
+ goto out_release;
+
-+ inode->i_mode = S_IFDIR|S_IRUGO;
++ inode->i_mode = S_IFDIR|S_IRUGO|S_IXUGO;
+ inode->i_op = &proc_vid_inode_operations;
+ inode->i_fop = &proc_vid_file_operations;
+ inode->i_nlink = 2;
@@ -18393,7 +19036,7 @@
+{
+ unsigned int nid_array[PROC_MAXVIDS];
+ char buf[PROC_NUMBUF];
-+ unsigned int nr = filp->f_pos-3;
++ unsigned int nr = filp->f_pos-2;
+ unsigned int nr_nids, i;
+ ino_t ino;
+
@@ -18415,18 +19058,10 @@
+ case 2:
+ ino = fake_ino(0, PROC_NID_INFO);
+ if (filldir(dirent, "info", 4,
-+ filp->f_pos, ino, DT_LNK) < 0)
++ filp->f_pos, ino, DT_REG) < 0)
+ return 0;
+ filp->f_pos++;
+ /* fall through */
-+ case 3:
-+ if (vx_current_xid() > 1) {
-+ ino = fake_ino(1, PROC_NID_INO);
-+ if (filldir(dirent, "current", 7,
-+ filp->f_pos, ino, DT_LNK) < 0)
-+ return 0;
-+ }
-+ filp->f_pos++;
+ }
+
+ nr_nids = get_nid_list(nr, nid_array, PROC_MAXVIDS);
@@ -18488,18 +19123,24 @@
+ char * orig = buffer;
+
+ buffer += sprintf (buffer,"XID:\t%d\n", vx_task_xid(p));
++ if (vx_flags(VXF_INFO_HIDE, 0))
++ goto out;
++
+ vxi = task_get_vx_info(p);
-+ if (vxi && !vx_flags(VXF_INFO_HIDE, 0)) {
-+ buffer += sprintf (buffer,"BCaps:\t%016llx\n"
-+ ,(unsigned long long)vxi->vx_bcaps);
-+ buffer += sprintf (buffer,"CCaps:\t%016llx\n"
-+ ,(unsigned long long)vxi->vx_ccaps);
-+ buffer += sprintf (buffer,"CFlags:\t%016llx\n"
-+ ,(unsigned long long)vxi->vx_flags);
-+ buffer += sprintf (buffer,"CIPid:\t%d\n"
-+ ,vxi->vx_initpid);
-+ }
++ if (!vxi)
++ goto out;
++
++ buffer += sprintf (buffer,"BCaps:\t%016llx\n"
++ ,(unsigned long long)vxi->vx_bcaps);
++ buffer += sprintf (buffer,"CCaps:\t%016llx\n"
++ ,(unsigned long long)vxi->vx_ccaps);
++ buffer += sprintf (buffer,"CFlags:\t%016llx\n"
++ ,(unsigned long long)vxi->vx_flags);
++ buffer += sprintf (buffer,"CIPid:\t%d\n"
++ ,vxi->vx_initpid);
++
+ put_vx_info(vxi);
++out:
+ return buffer - orig;
+}
+
@@ -18508,29 +19149,35 @@
+{
+ struct nx_info *nxi;
+ char * orig = buffer;
++ int i;
+
+ buffer += sprintf (buffer,"NID:\t%d\n", nx_task_nid(p));
++ if (vx_flags(VXF_INFO_HIDE, 0))
++ goto out;
+ nxi = task_get_nx_info(p);
-+ if (nxi && !vx_flags(VXF_INFO_HIDE, 0)) {
-+ int i;
++ if (!nxi)
++ goto out;
+
-+ for (i=0; i<nxi->nbipv4; i++){
-+ buffer += sprintf (buffer,
-+ "V4Root[%d]:\t%d.%d.%d.%d/%d.%d.%d.%d\n", i
-+ ,NIPQUAD(nxi->ipv4[i])
-+ ,NIPQUAD(nxi->mask[i]));
-+ }
++ for (i=0; i<nxi->nbipv4; i++){
+ buffer += sprintf (buffer,
-+ "V4Root[bcast]:\t%d.%d.%d.%d\n"
-+ ,NIPQUAD(nxi->v4_bcast));
-+ }
++ "V4Root[%d]:\t%d.%d.%d.%d/%d.%d.%d.%d\n", i
++ ,NIPQUAD(nxi->ipv4[i])
++ ,NIPQUAD(nxi->mask[i]));
++ }
++ buffer += sprintf (buffer,
++ "V4Root[bcast]:\t%d.%d.%d.%d\n"
++ ,NIPQUAD(nxi->v4_bcast));
++
+ put_nx_info(nxi);
++out:
+ return buffer - orig;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/sched.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sched.c
---- linux-2.6.16-rc5/kernel/vserver/sched.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sched.c 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/sched.c b/kernel/vserver/sched.c
+new file mode 100644
+index 0000000..50d5c0b
+--- /dev/null
++++ b/kernel/vserver/sched.c
@@ -0,0 +1,218 @@
+/*
+ * linux/kernel/vserver/sched.c
@@ -18664,7 +19311,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ vxi = locate_vx_info(xid);
++ vxi = lookup_vx_info(xid);
+ if (!vxi)
+ return -EINVAL;
+
@@ -18708,7 +19355,7 @@
+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
+ return -EFAULT;
+
-+ vxi = locate_vx_info(xid);
++ vxi = lookup_vx_info(xid);
+ if (!vxi)
+ return -EINVAL;
+
@@ -18750,9 +19397,11 @@
+ return 0;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/sched_init.h linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sched_init.h
---- linux-2.6.16-rc5/kernel/vserver/sched_init.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sched_init.h 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/sched_init.h b/kernel/vserver/sched_init.h
+new file mode 100644
+index 0000000..90d1396
+--- /dev/null
++++ b/kernel/vserver/sched_init.h
@@ -0,0 +1,30 @@
+
+static inline void vx_info_init_sched(struct _vx_sched *sched)
@@ -18784,9 +19433,11 @@
+ return;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/sched_proc.h linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sched_proc.h
---- linux-2.6.16-rc5/kernel/vserver/sched_proc.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sched_proc.h 2006-02-17 22:18:51 +0100
+diff --git a/kernel/vserver/sched_proc.h b/kernel/vserver/sched_proc.h
+new file mode 100644
+index 0000000..e65a3df
+--- /dev/null
++++ b/kernel/vserver/sched_proc.h
@@ -0,0 +1,40 @@
+#ifndef _VX_SCHED_PROC_H
+#define _VX_SCHED_PROC_H
@@ -18828,10 +19479,12 @@
+}
+
+#endif /* _VX_SCHED_PROC_H */
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/signal.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/signal.c
---- linux-2.6.16-rc5/kernel/vserver/signal.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/signal.c 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,118 @@
+diff --git a/kernel/vserver/signal.c b/kernel/vserver/signal.c
+new file mode 100644
+index 0000000..2406b9d
+--- /dev/null
++++ b/kernel/vserver/signal.c
+@@ -0,0 +1,132 @@
+/*
+ * linux/kernel/vserver/signal.c
+ *
@@ -18852,37 +19505,29 @@
+#include <linux/vserver/signal_cmd.h>
+
+
-+int vc_ctx_kill(uint32_t id, void __user *data)
++int vx_info_kill(struct vx_info *vxi, int pid, int sig)
+{
+ int retval, count=0;
-+ struct vcmd_ctx_kill_v0 vc_data;
+ struct task_struct *p;
-+ struct vx_info *vxi;
+ unsigned long priv = 0;
+
-+ if (!vx_check(0, VX_ADMIN))
-+ return -ENOSYS;
-+ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
-+ return -EFAULT;
-+
-+ vxi = locate_vx_info(id);
-+ if (!vxi)
-+ return -ESRCH;
-+
+ retval = -ESRCH;
++ vxdprintk(VXD_CBIT(misc, 4),
++ "vx_info_kill(%p[#%d],%d,%d)*",
++ vxi, vxi->vx_id, pid, sig);
+ read_lock(&tasklist_lock);
-+ switch (vc_data.pid) {
++ switch (pid) {
+ case 0:
+ priv = 1;
+ case -1:
+ for_each_process(p) {
+ int err = 0;
+
-+ if (vx_task_xid(p) != id || p->pid <= 1 ||
-+ (vc_data.pid && vxi->vx_initpid == p->pid))
++ if (vx_task_xid(p) != vxi->vx_id || p->pid <= 1 ||
++ (pid && vxi->vx_initpid == p->pid))
+ continue;
+
-+ err = group_send_sig_info(vc_data.sig, (void*)priv, p);
++ err = group_send_sig_info(sig, (void*)priv, p);
+ ++count;
+ if (err != -EPERM)
+ retval = err;
@@ -18891,20 +19536,42 @@
+
+ case 1:
+ if (vxi->vx_initpid) {
-+ vc_data.pid = vxi->vx_initpid;
++ pid = vxi->vx_initpid;
+ priv = 1;
+ }
+ /* fallthrough */
+ default:
-+ p = find_task_by_real_pid(vc_data.pid);
++ p = find_task_by_real_pid(pid);
+ if (p) {
-+ if ((id == -1) || (vx_task_xid(p) == id))
-+ retval = group_send_sig_info(vc_data.sig,
++ if (vx_task_xid(p) == vxi->vx_id)
++ retval = group_send_sig_info(sig,
+ (void*)priv, p);
+ }
+ break;
+ }
+ read_unlock(&tasklist_lock);
++ vxdprintk(VXD_CBIT(misc, 4),
++ "vx_info_kill(%p[#%d],%d,%d) = %d",
++ vxi, vxi->vx_id, pid, sig, retval);
++ return retval;
++}
++
++int vc_ctx_kill(uint32_t id, void __user *data)
++{
++ int retval;
++ struct vcmd_ctx_kill_v0 vc_data;
++ struct vx_info *vxi;
++
++ if (!vx_check(0, VX_ADMIN))
++ return -ENOSYS;
++ if (copy_from_user (&vc_data, data, sizeof(vc_data)))
++ return -EFAULT;
++
++ vxi = lookup_vx_info(id);
++ if (!vxi)
++ return -ESRCH;
++
++ retval = vx_info_kill(vxi, vc_data.pid, vc_data.sig);
+ put_vx_info(vxi);
+ return retval;
+}
@@ -18941,7 +19608,7 @@
+ struct vx_info *vxi;
+ int ret;
+
-+ vxi = locate_vx_info(id);
++ vxi = lookup_vx_info(id);
+ if (!vxi)
+ return -ESRCH;
+
@@ -18950,10 +19617,12 @@
+ return ret;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/switch.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/switch.c
---- linux-2.6.16-rc5/kernel/vserver/switch.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/switch.c 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,260 @@
+diff --git a/kernel/vserver/switch.c b/kernel/vserver/switch.c
+new file mode 100644
+index 0000000..035c995
+--- /dev/null
++++ b/kernel/vserver/switch.c
+@@ -0,0 +1,264 @@
+/*
+ * linux/kernel/vserver/switch.c
+ *
@@ -19064,6 +19733,8 @@
+ 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:
@@ -19169,6 +19840,8 @@
+ 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);
+
@@ -19214,12 +19887,14 @@
+}
+
+#endif /* CONFIG_COMPAT */
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/sysctl.c linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sysctl.c
---- linux-2.6.16-rc5/kernel/vserver/sysctl.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/sysctl.c 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,216 @@
+diff --git a/kernel/vserver/sysctl.c b/kernel/vserver/sysctl.c
+new file mode 100644
+index 0000000..d233b1f
+--- /dev/null
++++ b/kernel/vserver/sysctl.c
+@@ -0,0 +1,227 @@
+/*
-+ * linux/kernel/sysctl.c
++ * kernel/vserver/sysctl.c
+ *
+ * Virtual Context Support
+ *
@@ -19250,6 +19925,7 @@
+ CTL_DEBUG_NID,
+ CTL_DEBUG_NET,
+ CTL_DEBUG_LIMIT,
++ CTL_DEBUG_CRES,
+ CTL_DEBUG_DLIM,
+ CTL_DEBUG_CVIRT,
+ CTL_DEBUG_MISC,
@@ -19261,6 +19937,7 @@
+unsigned int vx_debug_nid = 0;
+unsigned int vx_debug_net = 0;
+unsigned int vx_debug_limit = 0;
++unsigned int vx_debug_cres = 0;
+unsigned int vx_debug_dlim = 0;
+unsigned int vx_debug_cvirt = 0;
+unsigned int vx_debug_misc = 0;
@@ -19388,6 +20065,14 @@
+ .proc_handler = &proc_dodebug
+ },
+ {
++ .ctl_name = CTL_DEBUG_CRES,
++ .procname = "debug_cres",
++ .data = &vx_debug_cres,
++ .maxlen = sizeof(int),
++ .mode = 0644,
++ .proc_handler = &proc_dodebug
++ },
++ {
+ .ctl_name = CTL_DEBUG_DLIM,
+ .procname = "debug_dlim",
+ .data = &vx_debug_dlim,
@@ -19430,17 +20115,17 @@
+EXPORT_SYMBOL_GPL(vx_debug_nid);
+EXPORT_SYMBOL_GPL(vx_debug_net);
+EXPORT_SYMBOL_GPL(vx_debug_limit);
++EXPORT_SYMBOL_GPL(vx_debug_cres);
+EXPORT_SYMBOL_GPL(vx_debug_dlim);
+EXPORT_SYMBOL_GPL(vx_debug_cvirt);
+EXPORT_SYMBOL_GPL(vx_debug_misc);
+
-diff -NurpP --minimal linux-2.6.16-rc5/kernel/vserver/vci_config.h linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/vci_config.h
---- linux-2.6.16-rc5/kernel/vserver/vci_config.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/kernel/vserver/vci_config.h 2006-02-17 22:18:51 +0100
-@@ -0,0 +1,76 @@
-+
-+#include <linux/config.h>
-+
+diff --git a/kernel/vserver/vci_config.h b/kernel/vserver/vci_config.h
+new file mode 100644
+index 0000000..1f3b17b
+--- /dev/null
++++ b/kernel/vserver/vci_config.h
+@@ -0,0 +1,73 @@
+
+#include <linux/config.h>
+
@@ -19454,7 +20139,7 @@
+ VCI_KCBIT_HARDCPU,
+ VCI_KCBIT_HARDCPU_IDLE,
+
-+ VCI_KCBIT_LEGACY_VERSION,
++ VCI_KCBIT_LEGACY_VERSION = 15,
+
+ VCI_KCBIT_DEBUG = 16,
+ VCI_KCBIT_HISTORY = 20,
@@ -19514,9 +20199,10 @@
+ 0;
+}
+
-diff -NurpP --minimal linux-2.6.16-rc5/mm/filemap_xip.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/filemap_xip.c
---- linux-2.6.16-rc5/mm/filemap_xip.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/filemap_xip.c 2006-02-17 22:18:51 +0100
+diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c
+index b960ac8..0c27759 100644
+--- a/mm/filemap_xip.c
++++ b/mm/filemap_xip.c
@@ -13,6 +13,7 @@
#include <linux/module.h>
#include <linux/uio.h>
@@ -19525,9 +20211,10 @@
#include <asm/tlbflush.h>
#include "filemap.h"
-diff -NurpP --minimal linux-2.6.16-rc5/mm/fremap.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/fremap.c
---- linux-2.6.16-rc5/mm/fremap.c 2006-01-03 17:30:13 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/fremap.c 2006-02-17 22:18:51 +0100
+diff --git a/mm/fremap.c b/mm/fremap.c
+index 9f381e5..a7538bd 100644
+--- a/mm/fremap.c
++++ b/mm/fremap.c
@@ -15,6 +15,7 @@
#include <linux/rmap.h>
#include <linux/module.h>
@@ -19553,9 +20240,10 @@
if (pte_none(*pte) || !zap_pte(mm, vma, addr, pte))
inc_mm_counter(mm, file_rss);
-diff -NurpP --minimal linux-2.6.16-rc5/mm/hugetlb.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/hugetlb.c
---- linux-2.6.16-rc5/mm/hugetlb.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/hugetlb.c 2006-02-18 15:22:56 +0100
+diff --git a/mm/hugetlb.c b/mm/hugetlb.c
+index 5087077..f1b2c19 100644
+--- a/mm/hugetlb.c
++++ b/mm/hugetlb.c
@@ -18,6 +18,7 @@
#include <asm/pgtable.h>
@@ -19564,9 +20252,10 @@
const unsigned long hugetlb_zero = 0, hugetlb_infinity = ~0UL;
static unsigned long nr_huge_pages, free_huge_pages;
-diff -NurpP --minimal linux-2.6.16-rc5/mm/memory.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/memory.c
---- linux-2.6.16-rc5/mm/memory.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/memory.c 2006-02-18 15:22:56 +0100
+diff --git a/mm/memory.c b/mm/memory.c
+index 9abc600..520b66e 100644
+--- a/mm/memory.c
++++ b/mm/memory.c
@@ -1903,6 +1903,10 @@ again:
grab_swap_token();
}
@@ -19597,9 +20286,10 @@
new_page = vma->vm_ops->nopage(vma, address & PAGE_MASK, &ret);
/*
* No smp_rmb is needed here as long as there's a full
-diff -NurpP --minimal linux-2.6.16-rc5/mm/mempolicy.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/mempolicy.c
---- linux-2.6.16-rc5/mm/mempolicy.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/mempolicy.c 2006-02-28 15:21:27 +0100
+diff --git a/mm/mempolicy.c b/mm/mempolicy.c
+index 954981b..6319c51 100644
+--- a/mm/mempolicy.c
++++ b/mm/mempolicy.c
@@ -86,6 +86,7 @@
#include <linux/swap.h>
#include <linux/seq_file.h>
@@ -19608,9 +20298,10 @@
#include <asm/tlbflush.h>
#include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.16-rc5/mm/mlock.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/mlock.c
---- linux-2.6.16-rc5/mm/mlock.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/mlock.c 2006-02-17 22:18:51 +0100
+diff --git a/mm/mlock.c b/mm/mlock.c
+index b90c595..6ea2ee0 100644
+--- a/mm/mlock.c
++++ b/mm/mlock.c
@@ -10,6 +10,7 @@
#include <linux/mm.h>
#include <linux/mempolicy.h>
@@ -19667,9 +20358,10 @@
if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) ||
capable(CAP_IPC_LOCK))
ret = do_mlockall(flags);
-diff -NurpP --minimal linux-2.6.16-rc5/mm/mmap.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/mmap.c
---- linux-2.6.16-rc5/mm/mmap.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/mmap.c 2006-02-17 22:18:51 +0100
+diff --git a/mm/mmap.c b/mm/mmap.c
+index 47556d2..fe5f116 100644
+--- a/mm/mmap.c
++++ b/mm/mmap.c
@@ -1116,10 +1116,10 @@ munmap_back:
kmem_cache_free(vm_area_cachep, vma);
}
@@ -19768,9 +20460,10 @@
+ return 0;
return 1;
}
-diff -NurpP --minimal linux-2.6.16-rc5/mm/mremap.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/mremap.c
---- linux-2.6.16-rc5/mm/mremap.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/mremap.c 2006-02-17 22:18:51 +0100
+diff --git a/mm/mremap.c b/mm/mremap.c
+index 1903bdf..25a9433 100644
+--- a/mm/mremap.c
++++ b/mm/mremap.c
@@ -18,6 +18,7 @@
#include <linux/highmem.h>
#include <linux/security.h>
@@ -19820,10 +20513,11 @@
make_pages_present(addr + old_len,
addr + new_len);
}
-diff -NurpP --minimal linux-2.6.16-rc5/mm/nommu.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/nommu.c
---- linux-2.6.16-rc5/mm/nommu.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/nommu.c 2006-02-28 15:21:27 +0100
-@@ -814,7 +814,7 @@ unsigned long do_mmap_pgoff(struct file
+diff --git a/mm/nommu.c b/mm/nommu.c
+index 4951f47..c61677b 100644
+--- a/mm/nommu.c
++++ b/mm/nommu.c
+@@ -820,7 +820,7 @@ unsigned long do_mmap_pgoff(struct file
realalloc += kobjsize(vma);
askedalloc += sizeof(*vma);
@@ -19832,7 +20526,7 @@
add_nommu_vma(vma);
-@@ -931,7 +931,7 @@ int do_munmap(struct mm_struct *mm, unsi
+@@ -937,7 +937,7 @@ int do_munmap(struct mm_struct *mm, unsi
kfree(vml);
update_hiwater_vm(mm);
@@ -19841,7 +20535,7 @@
#ifdef DEBUG
show_process_blocks();
-@@ -950,7 +950,7 @@ void exit_mmap(struct mm_struct * mm)
+@@ -956,7 +956,7 @@ void exit_mmap(struct mm_struct * mm)
printk("Exit_mmap:\n");
#endif
@@ -19850,9 +20544,10 @@
while ((tmp = mm->context.vmlist)) {
mm->context.vmlist = tmp->next;
-diff -NurpP --minimal linux-2.6.16-rc5/mm/oom_kill.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/oom_kill.c
---- linux-2.6.16-rc5/mm/oom_kill.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/oom_kill.c 2006-02-28 15:21:27 +0100
+diff --git a/mm/oom_kill.c b/mm/oom_kill.c
+index 78747af..f2479c9 100644
+--- a/mm/oom_kill.c
++++ b/mm/oom_kill.c
@@ -55,6 +55,7 @@ unsigned long badness(struct task_struct
* The memory size of the process is the basis for the badness.
*/
@@ -19861,9 +20556,10 @@
/*
* Processes which fork a lot of child processes are likely
-diff -NurpP --minimal linux-2.6.16-rc5/mm/page_alloc.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/page_alloc.c
---- linux-2.6.16-rc5/mm/page_alloc.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/page_alloc.c 2006-02-28 15:21:27 +0100
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index 234bd48..557a64f 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
@@ -37,6 +37,7 @@
#include <linux/nodemask.h>
#include <linux/vmalloc.h>
@@ -19872,7 +20568,7 @@
#include <asm/tlbflush.h>
#include "internal.h"
-@@ -1351,6 +1352,8 @@ void si_meminfo(struct sysinfo *val)
+@@ -1350,6 +1351,8 @@ void si_meminfo(struct sysinfo *val)
val->freehigh = 0;
#endif
val->mem_unit = PAGE_SIZE;
@@ -19881,9 +20577,19 @@
}
EXPORT_SYMBOL(si_meminfo);
-diff -NurpP --minimal linux-2.6.16-rc5/mm/rmap.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/rmap.c
---- linux-2.6.16-rc5/mm/rmap.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/rmap.c 2006-02-17 22:18:51 +0100
+@@ -1364,6 +1367,8 @@ void si_meminfo_node(struct sysinfo *val
+ val->totalhigh = pgdat->node_zones[ZONE_HIGHMEM].present_pages;
+ val->freehigh = pgdat->node_zones[ZONE_HIGHMEM].free_pages;
+ val->mem_unit = PAGE_SIZE;
++ if (vx_flags(VXF_VIRT_MEM, 0))
++ vx_vsi_meminfo(val);
+ }
+ #endif
+
+diff --git a/mm/rmap.c b/mm/rmap.c
+index 67f0e20..c0da121 100644
+--- a/mm/rmap.c
++++ b/mm/rmap.c
@@ -53,6 +53,7 @@
#include <linux/rmap.h>
#include <linux/rcupdate.h>
@@ -19892,9 +20598,10 @@
#include <asm/tlbflush.h>
-diff -NurpP --minimal linux-2.6.16-rc5/mm/shmem.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/shmem.c
---- linux-2.6.16-rc5/mm/shmem.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/shmem.c 2006-02-28 15:21:27 +0100
+diff --git a/mm/shmem.c b/mm/shmem.c
+index 7c455fb..d1b4192 100644
+--- a/mm/shmem.c
++++ b/mm/shmem.c
@@ -51,7 +51,6 @@
#include <asm/pgtable.h>
@@ -19921,9 +20628,10 @@
sb->s_op = &shmem_ops;
inode = shmem_get_inode(sb, S_IFDIR | mode, 0);
-diff -NurpP --minimal linux-2.6.16-rc5/mm/swapfile.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/swapfile.c
---- linux-2.6.16-rc5/mm/swapfile.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/swapfile.c 2006-02-17 22:18:51 +0100
+diff --git a/mm/swapfile.c b/mm/swapfile.c
+index 1f9cf0d..7fab939 100644
+--- a/mm/swapfile.c
++++ b/mm/swapfile.c
@@ -32,6 +32,7 @@
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
@@ -19941,9 +20649,10 @@
}
/*
-diff -NurpP --minimal linux-2.6.16-rc5/mm/vmscan.c linux-2.6.16-rc5-vs2.0.2-rc10/mm/vmscan.c
---- linux-2.6.16-rc5/mm/vmscan.c 2006-02-28 15:03:46 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/mm/vmscan.c 2006-02-28 15:21:27 +0100
+diff --git a/mm/vmscan.c b/mm/vmscan.c
+index 7ccf763..b28865d 100644
+--- a/mm/vmscan.c
++++ b/mm/vmscan.c
@@ -1826,7 +1826,7 @@ static int __init kswapd_init(void)
swap_setup();
for_each_pgdat(pgdat)
@@ -19953,9 +20662,10 @@
total_memory = nr_free_pagecache_pages();
hotcpu_notifier(cpu_callback, 0);
return 0;
-diff -NurpP --minimal linux-2.6.16-rc5/net/core/dev.c linux-2.6.16-rc5-vs2.0.2-rc10/net/core/dev.c
---- linux-2.6.16-rc5/net/core/dev.c 2006-02-28 15:03:47 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/core/dev.c 2006-02-17 22:18:51 +0100
+diff --git a/net/core/dev.c b/net/core/dev.c
+index 2afb0de..407124c 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
@@ -114,6 +114,7 @@
#include <linux/wireless.h> /* Note : will define WIRELESS_EXT */
#include <net/iw_handler.h>
@@ -19985,9 +20695,10 @@
if (dev->get_stats) {
struct net_device_stats *stats = dev->get_stats(dev);
-diff -NurpP --minimal linux-2.6.16-rc5/net/core/rtnetlink.c linux-2.6.16-rc5-vs2.0.2-rc10/net/core/rtnetlink.c
---- linux-2.6.16-rc5/net/core/rtnetlink.c 2006-02-28 15:03:47 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/core/rtnetlink.c 2006-02-17 22:18:51 +0100
+diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
+index eca2976..8e3a809 100644
+--- a/net/core/rtnetlink.c
++++ b/net/core/rtnetlink.c
@@ -278,6 +278,9 @@ static int rtnetlink_dump_ifinfo(struct
for (dev=dev_base, idx=0; dev; dev = dev->next, idx++) {
if (idx < s_idx)
@@ -20008,9 +20719,10 @@
skb = alloc_skb(size, GFP_KERNEL);
if (!skb)
return;
-diff -NurpP --minimal linux-2.6.16-rc5/net/core/sock.c linux-2.6.16-rc5-vs2.0.2-rc10/net/core/sock.c
---- linux-2.6.16-rc5/net/core/sock.c 2006-02-28 15:03:47 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/core/sock.c 2006-02-17 22:18:51 +0100
+diff --git a/net/core/sock.c b/net/core/sock.c
+index 6e00811..ddb6738 100644
+--- a/net/core/sock.c
++++ b/net/core/sock.c
@@ -125,6 +125,9 @@
#include <linux/ipsec.h>
@@ -20076,9 +20788,10 @@
atomic_set(&sk->sk_refcnt, 1);
}
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/af_inet.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/af_inet.c
---- linux-2.6.16-rc5/net/ipv4/af_inet.c 2006-02-28 15:03:50 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/af_inet.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
+index 97c276f..fef25db 100644
+--- a/net/ipv4/af_inet.c
++++ b/net/ipv4/af_inet.c
@@ -114,6 +114,7 @@
#ifdef CONFIG_IP_MROUTE
#include <linux/mroute.h>
@@ -20172,9 +20885,10 @@
if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
inet->saddr = 0; /* Use device */
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/devinet.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/devinet.c
---- linux-2.6.16-rc5/net/ipv4/devinet.c 2006-02-28 15:03:50 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/devinet.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
+index 3ffa60d..ea91fd3 100644
+--- a/net/ipv4/devinet.c
++++ b/net/ipv4/devinet.c
@@ -529,6 +529,33 @@ static __inline__ int inet_abc_len(u32 a
return rc;
}
@@ -20247,9 +20961,10 @@
if (ip_idx < s_ip_idx)
continue;
if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid,
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/fib_hash.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/fib_hash.c
---- linux-2.6.16-rc5/net/ipv4/fib_hash.c 2006-02-28 15:03:50 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/fib_hash.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c
+index e2890ec..c9b54bb 100644
+--- a/net/ipv4/fib_hash.c
++++ b/net/ipv4/fib_hash.c
@@ -989,6 +989,8 @@ static unsigned fib_flag_trans(int type,
return flags;
}
@@ -20269,9 +20984,10 @@
snprintf(bf, sizeof(bf),
"%s\t%08X\t%08X\t%04X\t%d\t%u\t%d\t%08X\t%d\t%u\t%u",
fi->fib_dev ? fi->fib_dev->name : "*", prefix,
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/inet_connection_sock.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/inet_connection_sock.c
---- linux-2.6.16-rc5/net/ipv4/inet_connection_sock.c 2006-02-28 15:03:51 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/inet_connection_sock.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
+index ae20281..a7c37bd 100644
+--- a/net/ipv4/inet_connection_sock.c
++++ b/net/ipv4/inet_connection_sock.c
@@ -40,7 +40,6 @@ int sysctl_local_port_range[2] = { 1024,
int inet_csk_bind_conflict(const struct sock *sk,
const struct inet_bind_bucket *tb)
@@ -20292,9 +21008,10 @@
break;
}
}
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/inet_diag.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/inet_diag.c
---- linux-2.6.16-rc5/net/ipv4/inet_diag.c 2006-02-28 15:03:51 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/inet_diag.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
+index 457db99..03cfe8f 100644
+--- a/net/ipv4/inet_diag.c
++++ b/net/ipv4/inet_diag.c
@@ -694,6 +694,8 @@ static int inet_diag_dump(struct sk_buff
sk_for_each(sk, node, &hashinfo->listening_hash[i]) {
struct inet_sock *inet = inet_sk(sk);
@@ -20322,9 +21039,10 @@
if (num < s_num)
goto next_dying;
if (r->id.idiag_sport != tw->tw_sport &&
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/inet_hashtables.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/inet_hashtables.c
---- linux-2.6.16-rc5/net/ipv4/inet_hashtables.c 2006-02-28 15:03:51 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/inet_hashtables.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c
+index 3322811..d3ec834 100644
+--- a/net/ipv4/inet_hashtables.c
++++ b/net/ipv4/inet_hashtables.c
@@ -143,11 +143,10 @@ struct sock *__inet_lookup_listener(cons
const __u32 rcv_saddr = inet->rcv_saddr;
int score = sk->sk_family == PF_INET ? 1 : 0;
@@ -20340,9 +21058,10 @@
if (sk->sk_bound_dev_if) {
if (sk->sk_bound_dev_if != dif)
continue;
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/raw.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/raw.c
---- linux-2.6.16-rc5/net/ipv4/raw.c 2006-02-28 15:03:52 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/raw.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
+index f29a12d..84faac0 100644
+--- a/net/ipv4/raw.c
++++ b/net/ipv4/raw.c
@@ -102,6 +102,27 @@ static void raw_v4_unhash(struct sock *s
write_unlock_bh(&raw_v4_lock);
}
@@ -20381,18 +21100,27 @@
!(sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif))
goto found; /* gotcha */
}
-@@ -312,6 +334,10 @@ static int raw_send_hdrinc(struct sock *
-
+@@ -313,6 +335,11 @@ static int raw_send_hdrinc(struct sock *
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
}
+
+ err = -EPERM;
+ if (!vx_check(0, VX_ADMIN) && !capable(CAP_NET_RAW)
+ && (!addr_in_nx_info(sk->sk_nx_info, iph->saddr)))
-+ goto error;
-
++ goto error_free;
++
err = NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL, rt->u.dst.dev,
dst_output);
-@@ -484,6 +510,12 @@ static int raw_sendmsg(struct kiocb *ioc
+ if (err > 0)
+@@ -324,6 +351,7 @@ out:
+
+ error_fault:
+ err = -EFAULT;
++error_free:
+ kfree_skb(skb);
+ error:
+ IP_INC_STATS(IPSTATS_MIB_OUTDISCARDS);
+@@ -484,6 +512,12 @@ static int raw_sendmsg(struct kiocb *ioc
if (!inet->hdrincl)
raw_probe_proto_opt(&fl, msg);
@@ -20405,7 +21133,7 @@
err = ip_route_output_flow(&rt, &fl, sk, !(msg->msg_flags&MSG_DONTWAIT));
}
if (err)
-@@ -753,7 +785,8 @@ static struct sock *raw_get_first(struct
+@@ -753,7 +787,8 @@ static struct sock *raw_get_first(struct
struct hlist_node *node;
sk_for_each(sk, node, &raw_v4_htable[state->bucket])
@@ -20415,7 +21143,7 @@
goto found;
}
sk = NULL;
-@@ -769,7 +802,8 @@ static struct sock *raw_get_next(struct
+@@ -769,7 +804,8 @@ static struct sock *raw_get_next(struct
sk = sk_next(sk);
try_again:
;
@@ -20425,9 +21153,10 @@
if (!sk && ++state->bucket < RAWV4_HTABLE_SIZE) {
sk = sk_head(&raw_v4_htable[state->bucket]);
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/tcp.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/tcp.c
---- linux-2.6.16-rc5/net/ipv4/tcp.c 2006-02-28 15:03:52 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/tcp.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
+index 00aa80e..2d52d50 100644
+--- a/net/ipv4/tcp.c
++++ b/net/ipv4/tcp.c
@@ -257,6 +257,7 @@
#include <linux/fs.h>
#include <linux/random.h>
@@ -20436,9 +21165,10 @@
#include <net/icmp.h>
#include <net/tcp.h>
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/tcp_ipv4.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/tcp_ipv4.c
---- linux-2.6.16-rc5/net/ipv4/tcp_ipv4.c 2006-02-28 15:03:52 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/tcp_ipv4.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
+index 233bdf2..dd0dbd8 100644
+--- a/net/ipv4/tcp_ipv4.c
++++ b/net/ipv4/tcp_ipv4.c
@@ -77,6 +77,7 @@
#include <linux/stddef.h>
#include <linux/proc_fs.h>
@@ -20524,9 +21254,10 @@
if (sk->sk_family == st->family)
goto found;
}
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/tcp_minisocks.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/tcp_minisocks.c
---- linux-2.6.16-rc5/net/ipv4/tcp_minisocks.c 2006-02-28 15:03:52 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/tcp_minisocks.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
+index 2b9b7f6..0582ec2 100644
+--- a/net/ipv4/tcp_minisocks.c
++++ b/net/ipv4/tcp_minisocks.c
@@ -29,6 +29,10 @@
#include <net/inet_common.h>
#include <net/xfrm.h>
@@ -20550,9 +21281,10 @@
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
if (tw->tw_family == PF_INET6) {
struct ipv6_pinfo *np = inet6_sk(sk);
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv4/udp.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/udp.c
---- linux-2.6.16-rc5/net/ipv4/udp.c 2006-02-28 15:03:52 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv4/udp.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
+index 0084047..9b2757c 100644
+--- a/net/ipv4/udp.c
++++ b/net/ipv4/udp.c
@@ -176,14 +176,12 @@ gotit:
struct inet_sock *inet2 = inet_sk(sk2);
@@ -20649,9 +21381,10 @@
if (!sk && ++state->bucket < UDP_HTABLE_SIZE) {
sk = sk_head(&udp_hash[state->bucket]);
-diff -NurpP --minimal linux-2.6.16-rc5/net/ipv6/addrconf.c linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv6/addrconf.c
---- linux-2.6.16-rc5/net/ipv6/addrconf.c 2006-02-28 15:03:52 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/ipv6/addrconf.c 2006-02-17 22:18:51 +0100
+diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
+index b7d8822..d4ef097 100644
+--- a/net/ipv6/addrconf.c
++++ b/net/ipv6/addrconf.c
@@ -2646,7 +2646,10 @@ static void if6_seq_stop(struct seq_file
static int if6_seq_show(struct seq_file *seq, void *v)
{
@@ -20686,9 +21419,10 @@
read_lock(&dev_base_lock);
for (dev=dev_base, idx=0; dev; dev = dev->next, idx++) {
if (idx < s_idx)
-diff -NurpP --minimal linux-2.6.16-rc5/net/netlink/af_netlink.c linux-2.6.16-rc5-vs2.0.2-rc10/net/netlink/af_netlink.c
---- linux-2.6.16-rc5/net/netlink/af_netlink.c 2006-02-28 15:03:52 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/netlink/af_netlink.c 2006-02-17 22:18:51 +0100
+diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
+index 6b9772d..2f8b8f2 100644
+--- a/net/netlink/af_netlink.c
++++ b/net/netlink/af_netlink.c
@@ -56,6 +56,9 @@
#include <linux/mm.h>
#include <linux/types.h>
@@ -20699,9 +21433,10 @@
#include <net/sock.h>
#include <net/scm.h>
-diff -NurpP --minimal linux-2.6.16-rc5/net/socket.c linux-2.6.16-rc5-vs2.0.2-rc10/net/socket.c
---- linux-2.6.16-rc5/net/socket.c 2006-02-28 15:03:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/socket.c 2006-02-17 22:18:51 +0100
+diff --git a/net/socket.c b/net/socket.c
+index a00851f..a942fe6 100644
+--- a/net/socket.c
++++ b/net/socket.c
@@ -96,6 +96,7 @@
#include <net/sock.h>
@@ -20802,9 +21537,10 @@
err = sock1->ops->socketpair(sock1, sock2);
if (err < 0)
-diff -NurpP --minimal linux-2.6.16-rc5/net/sunrpc/auth.c linux-2.6.16-rc5-vs2.0.2-rc10/net/sunrpc/auth.c
---- linux-2.6.16-rc5/net/sunrpc/auth.c 2006-02-28 15:03:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/sunrpc/auth.c 2006-02-17 22:18:51 +0100
+diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c
+index 8d6f1a1..9c893ef 100644
+--- a/net/sunrpc/auth.c
++++ b/net/sunrpc/auth.c
@@ -13,6 +13,7 @@
#include <linux/errno.h>
#include <linux/sunrpc/clnt.h>
@@ -20829,9 +21565,10 @@
.group_info = current->group_info,
};
struct rpc_cred *ret;
-diff -NurpP --minimal linux-2.6.16-rc5/net/sunrpc/auth_unix.c linux-2.6.16-rc5-vs2.0.2-rc10/net/sunrpc/auth_unix.c
---- linux-2.6.16-rc5/net/sunrpc/auth_unix.c 2006-02-28 15:03:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/sunrpc/auth_unix.c 2006-02-17 22:18:51 +0100
+diff --git a/net/sunrpc/auth_unix.c b/net/sunrpc/auth_unix.c
+index df14b6b..4f2ad4f 100644
+--- a/net/sunrpc/auth_unix.c
++++ b/net/sunrpc/auth_unix.c
@@ -11,12 +11,14 @@
#include <linux/module.h>
#include <linux/sunrpc/clnt.h>
@@ -20897,9 +21634,10 @@
hold = p++;
for (i = 0; i < 16 && cred->uc_gids[i] != (gid_t) NOGROUP; i++)
*p++ = htonl((u32) cred->uc_gids[i]);
-diff -NurpP --minimal linux-2.6.16-rc5/net/unix/af_unix.c linux-2.6.16-rc5-vs2.0.2-rc10/net/unix/af_unix.c
---- linux-2.6.16-rc5/net/unix/af_unix.c 2006-02-28 15:03:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/unix/af_unix.c 2006-02-17 22:18:51 +0100
+diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
+index c323cc6..7020c57 100644
+--- a/net/unix/af_unix.c
++++ b/net/unix/af_unix.c
@@ -117,6 +117,9 @@
#include <linux/mount.h>
#include <net/checksum.h>
@@ -20928,9 +21666,10 @@
if (err)
goto out_mknod_dput;
mutex_unlock(&nd.dentry->d_inode->i_mutex);
-diff -NurpP --minimal linux-2.6.16-rc5/net/x25/af_x25.c linux-2.6.16-rc5-vs2.0.2-rc10/net/x25/af_x25.c
---- linux-2.6.16-rc5/net/x25/af_x25.c 2006-02-28 15:03:57 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/net/x25/af_x25.c 2006-02-17 22:18:51 +0100
+diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
+index 72b6ff3..3da1bd9 100644
+--- a/net/x25/af_x25.c
++++ b/net/x25/af_x25.c
@@ -491,7 +491,10 @@ static int x25_create(struct socket *soc
x25 = x25_sk(sk);
@@ -20943,9 +21682,10 @@
x25_init_timers(sk);
-diff -NurpP --minimal linux-2.6.16-rc5/security/commoncap.c linux-2.6.16-rc5-vs2.0.2-rc10/security/commoncap.c
---- linux-2.6.16-rc5/security/commoncap.c 2006-02-28 15:03:58 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/security/commoncap.c 2006-02-17 22:18:51 +0100
+diff --git a/security/commoncap.c b/security/commoncap.c
+index 8a6e097..403e104 100644
+--- a/security/commoncap.c
++++ b/security/commoncap.c
@@ -143,7 +143,7 @@ void cap_bprm_apply_creds (struct linux_
/* Derived from fs/exec.c:compute_creds. */
kernel_cap_t new_permitted, working;
@@ -20965,9 +21705,10 @@
return -EPERM;
return 0;
}
-diff -NurpP --minimal linux-2.6.16-rc5/security/security.c linux-2.6.16-rc5-vs2.0.2-rc10/security/security.c
---- linux-2.6.16-rc5/security/security.c 2006-02-28 15:03:58 +0100
-+++ linux-2.6.16-rc5-vs2.0.2-rc10/security/security.c 2006-02-17 22:18:51 +0100
+diff --git a/security/security.c b/security/security.c
+index f693e1f..8bbe110 100644
+--- a/security/security.c
++++ b/security/security.c
@@ -186,6 +186,8 @@ int mod_unreg_security(const char *name,
*/
int capable(int cap)
More information about the Kernel-svn-changes
mailing list