]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- up to 2.6.31.2-vs2.3.0.36.16 (lots of VFS/FS changes)
authorJan Rękorajski <baggins@pld-linux.org>
Thu, 8 Oct 2009 10:24:23 +0000 (10:24 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    kernel-vserver-2.3.patch -> 1.21

kernel-vserver-2.3.patch

index 36d219e463ebd918ee8b252ef19cf1e5bb903c72..2fb1187de40a9abad0869010805b30ca3fc25162 100644 (file)
@@ -1,6 +1,6 @@
-diff -NurpP --minimal linux-2.6.31.2/arch/alpha/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/alpha/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/Kconfig
 --- linux-2.6.31.2/arch/alpha/Kconfig  2009-03-24 14:18:07.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/Kconfig    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/Kconfig    2009-09-10 16:11:43.000000000 +0200
 @@ -666,6 +666,8 @@ config DUMMY_CONSOLE
        depends on VGA_HOSE
        default y
@@ -10,9 +10,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/alpha/Kconfig linux-2.6.31.2-vs2.3.0.3
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/entry.S
+diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/entry.S linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/entry.S
 --- linux-2.6.31.2/arch/alpha/kernel/entry.S   2009-06-11 17:11:46.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/entry.S     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/entry.S     2009-09-10 16:11:43.000000000 +0200
 @@ -874,24 +874,15 @@ sys_getxgid:
        .globl  sys_getxpid
        .ent    sys_getxpid
@@ -45,9 +45,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/entry.S linux-2.6.31.2-vs
        ret
  .end sys_getxpid
  
-diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/osf_sys.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/osf_sys.c
+diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/osf_sys.c linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/osf_sys.c
 --- linux-2.6.31.2/arch/alpha/kernel/osf_sys.c 2009-09-10 15:25:14.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/osf_sys.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/osf_sys.c   2009-09-10 16:11:43.000000000 +0200
 @@ -872,7 +872,7 @@ SYSCALL_DEFINE2(osf_gettimeofday, struct
  {
        if (tv) {
@@ -57,9 +57,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/osf_sys.c linux-2.6.31.2-
                if (put_tv32(tv, &ktv))
                        return -EFAULT;
        }
-diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/ptrace.c
+diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/ptrace.c
 --- linux-2.6.31.2/arch/alpha/kernel/ptrace.c  2009-09-10 15:25:14.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/ptrace.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/ptrace.c    2009-09-10 16:11:43.000000000 +0200
 @@ -14,6 +14,7 @@
  #include <linux/slab.h>
  #include <linux/security.h>
@@ -68,9 +68,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/ptrace.c linux-2.6.31.2-v
  
  #include <asm/uaccess.h>
  #include <asm/pgtable.h>
-diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/systbls.S linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/systbls.S
+diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/systbls.S linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/systbls.S
 --- linux-2.6.31.2/arch/alpha/kernel/systbls.S 2009-03-24 14:18:08.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/systbls.S   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/systbls.S   2009-09-10 16:11:43.000000000 +0200
 @@ -446,7 +446,7 @@ sys_call_table:
        .quad sys_stat64                        /* 425 */
        .quad sys_lstat64
@@ -80,9 +80,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/systbls.S linux-2.6.31.2-
        .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.31.2/arch/alpha/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/traps.c
 --- linux-2.6.31.2/arch/alpha/kernel/traps.c   2009-06-11 17:11:46.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/traps.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/kernel/traps.c     2009-09-10 16:11:43.000000000 +0200
 @@ -183,7 +183,8 @@ die_if_kernel(char * str, struct pt_regs
  #ifdef CONFIG_SMP
        printk("CPU %d ", hard_smp_processor_id());
@@ -93,9 +93,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/traps.c linux-2.6.31.2-vs
        dik_show_regs(regs, r9_15);
        add_taint(TAINT_DIE);
        dik_show_trace((unsigned long *)(regs+1));
-diff -NurpP --minimal linux-2.6.31.2/arch/alpha/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/alpha/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/mm/fault.c
 --- linux-2.6.31.2/arch/alpha/mm/fault.c       2009-09-10 15:25:14.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/mm/fault.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/alpha/mm/fault.c 2009-09-10 16:11:43.000000000 +0200
 @@ -193,8 +193,8 @@ do_page_fault(unsigned long address, uns
                down_read(&mm->mmap_sem);
                goto survive;
@@ -107,9 +107,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/alpha/mm/fault.c linux-2.6.31.2-vs2.3.
        if (!user_mode(regs))
                goto no_context;
        do_group_exit(SIGKILL);
-diff -NurpP --minimal linux-2.6.31.2/arch/arm/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/arm/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/arm/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/arm/Kconfig
 --- linux-2.6.31.2/arch/arm/Kconfig    2009-09-10 15:25:14.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/Kconfig      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/arm/Kconfig      2009-09-10 16:11:43.000000000 +0200
 @@ -1483,6 +1483,8 @@ source "fs/Kconfig"
  
  source "arch/arm/Kconfig.debug"
@@ -119,9 +119,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/arm/Kconfig linux-2.6.31.2-vs2.3.0.36.
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/calls.S linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/calls.S
+diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/calls.S linux-2.6.31.2-vs2.3.0.36.16/arch/arm/kernel/calls.S
 --- linux-2.6.31.2/arch/arm/kernel/calls.S     2009-09-10 15:25:15.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/calls.S       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/arm/kernel/calls.S       2009-09-10 16:11:43.000000000 +0200
 @@ -322,7 +322,7 @@
  /* 310 */     CALL(sys_request_key)
                CALL(sys_keyctl)
@@ -131,9 +131,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/calls.S linux-2.6.31.2-vs2.
                CALL(sys_ioprio_set)
  /* 315 */     CALL(sys_ioprio_get)
                CALL(sys_inotify_init)
-diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/process.c linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/process.c
+diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/process.c linux-2.6.31.2-vs2.3.0.36.16/arch/arm/kernel/process.c
 --- linux-2.6.31.2/arch/arm/kernel/process.c   2009-09-10 15:25:15.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/process.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/arm/kernel/process.c     2009-09-10 16:11:43.000000000 +0200
 @@ -269,7 +269,8 @@ void __show_regs(struct pt_regs *regs)
  void show_regs(struct pt_regs * regs)
  {
@@ -144,9 +144,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/process.c linux-2.6.31.2-vs
        __show_regs(regs);
        __backtrace();
  }
-diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/arm/kernel/traps.c
 --- linux-2.6.31.2/arch/arm/kernel/traps.c     2009-06-11 17:11:49.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/traps.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/arm/kernel/traps.c       2009-09-10 16:11:43.000000000 +0200
 @@ -228,8 +228,8 @@ static void __die(const char *str, int e
               str, err, ++die_counter);
        print_modules();
@@ -158,9 +158,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/traps.c linux-2.6.31.2-vs2.
  
        if (!user_mode(regs) || in_interrupt()) {
                dump_mem("Stack: ", regs->ARM_sp,
-diff -NurpP --minimal linux-2.6.31.2/arch/arm/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/arm/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/arm/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/arm/mm/fault.c
 --- linux-2.6.31.2/arch/arm/mm/fault.c 2009-09-10 15:25:18.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/mm/fault.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/arm/mm/fault.c   2009-09-10 16:11:43.000000000 +0200
 @@ -294,7 +294,8 @@ do_page_fault(unsigned long addr, unsign
                 * happened to us that made us unable to handle
                 * the page fault gracefully.
@@ -171,9 +171,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/arm/mm/fault.c linux-2.6.31.2-vs2.3.0.
                do_group_exit(SIGKILL);
                return 0;
        }
-diff -NurpP --minimal linux-2.6.31.2/arch/avr32/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/avr32/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/avr32/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/avr32/mm/fault.c
 --- linux-2.6.31.2/arch/avr32/mm/fault.c       2009-09-10 15:25:20.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/avr32/mm/fault.c 2009-09-29 17:32:09.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/avr32/mm/fault.c 2009-09-29 17:32:09.000000000 +0200
 @@ -216,7 +216,8 @@ out_of_memory:
                down_read(&mm->mmap_sem);
                goto survive;
@@ -184,9 +184,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/avr32/mm/fault.c linux-2.6.31.2-vs2.3.
        if (user_mode(regs))
                do_group_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/cris/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/cris/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/cris/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/cris/Kconfig
 --- linux-2.6.31.2/arch/cris/Kconfig   2009-06-11 17:11:56.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/cris/Kconfig     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/cris/Kconfig     2009-09-10 16:11:43.000000000 +0200
 @@ -685,6 +685,8 @@ source "drivers/staging/Kconfig"
  
  source "arch/cris/Kconfig.debug"
@@ -196,9 +196,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/cris/Kconfig linux-2.6.31.2-vs2.3.0.36
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/cris/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/cris/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/cris/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/cris/mm/fault.c
 --- linux-2.6.31.2/arch/cris/mm/fault.c        2009-09-10 15:25:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/cris/mm/fault.c  2009-09-29 17:25:13.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/cris/mm/fault.c  2009-09-29 17:25:13.000000000 +0200
 @@ -245,7 +245,8 @@ do_page_fault(unsigned long address, str
  
   out_of_memory:
@@ -209,9 +209,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/cris/mm/fault.c linux-2.6.31.2-vs2.3.0
        if (user_mode(regs))
                do_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/frv/kernel/kernel_thread.S linux-2.6.31.2-vs2.3.0.36.15/arch/frv/kernel/kernel_thread.S
+diff -NurpP --minimal linux-2.6.31.2/arch/frv/kernel/kernel_thread.S linux-2.6.31.2-vs2.3.0.36.16/arch/frv/kernel/kernel_thread.S
 --- linux-2.6.31.2/arch/frv/kernel/kernel_thread.S     2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/frv/kernel/kernel_thread.S       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/frv/kernel/kernel_thread.S       2009-09-10 16:11:43.000000000 +0200
 @@ -37,7 +37,7 @@ kernel_thread:
  
        # start by forking the current process, but with shared VM
@@ -221,9 +221,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/frv/kernel/kernel_thread.S linux-2.6.3
        sethi.p         #0xe4e4,gr9             ; second syscall arg    [newsp]
        setlo           #0xe4e4,gr9
        setlos.p        #0,gr10                 ; third syscall arg     [parent_tidptr]
-diff -NurpP --minimal linux-2.6.31.2/arch/frv/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/frv/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/frv/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/frv/mm/fault.c
 --- linux-2.6.31.2/arch/frv/mm/fault.c 2009-09-10 15:25:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/frv/mm/fault.c   2009-09-29 17:25:48.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/frv/mm/fault.c   2009-09-29 17:25:48.000000000 +0200
 @@ -257,7 +257,8 @@ asmlinkage void do_page_fault(int datamm
   */
   out_of_memory:
@@ -234,9 +234,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/frv/mm/fault.c linux-2.6.31.2-vs2.3.0.
        if (user_mode(__frame))
                do_group_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/h8300/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/h8300/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/h8300/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/h8300/Kconfig
 --- linux-2.6.31.2/arch/h8300/Kconfig  2009-03-24 14:18:24.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/h8300/Kconfig    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/h8300/Kconfig    2009-09-10 16:11:43.000000000 +0200
 @@ -226,6 +226,8 @@ source "fs/Kconfig"
  
  source "arch/h8300/Kconfig.debug"
@@ -246,9 +246,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/h8300/Kconfig linux-2.6.31.2-vs2.3.0.3
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/ia64/ia32/ia32_entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/ia32/ia32_entry.S
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/ia32/ia32_entry.S linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/ia32/ia32_entry.S
 --- linux-2.6.31.2/arch/ia64/ia32/ia32_entry.S 2009-06-11 17:11:57.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/ia32/ia32_entry.S   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/ia32/ia32_entry.S   2009-09-10 16:11:43.000000000 +0200
 @@ -451,7 +451,7 @@ ia32_syscall_table:
        data8 sys_tgkill        /* 270 */
        data8 compat_sys_utimes
@@ -258,9 +258,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/ia32/ia32_entry.S linux-2.6.31.2-
        data8 sys_ni_syscall
        data8 sys_ni_syscall    /* 275 */
        data8 sys_ni_syscall
-diff -NurpP --minimal linux-2.6.31.2/arch/ia64/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/Kconfig
 --- linux-2.6.31.2/arch/ia64/Kconfig   2009-09-10 15:25:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/Kconfig     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/Kconfig     2009-09-10 16:11:43.000000000 +0200
 @@ -676,6 +676,8 @@ source "fs/Kconfig"
  
  source "arch/ia64/Kconfig.debug"
@@ -270,9 +270,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/Kconfig linux-2.6.31.2-vs2.3.0.36
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/entry.S
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/entry.S linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/entry.S
 --- linux-2.6.31.2/arch/ia64/kernel/entry.S    2009-09-10 15:25:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/entry.S      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/entry.S      2009-09-10 16:11:43.000000000 +0200
 @@ -1753,7 +1753,7 @@ sys_call_table:
        data8 sys_mq_notify
        data8 sys_mq_getsetattr
@@ -282,9 +282,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/entry.S linux-2.6.31.2-vs2
        data8 sys_waitid                        // 1270
        data8 sys_add_key
        data8 sys_request_key
-diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/perfmon.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/perfmon.c
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/perfmon.c linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/perfmon.c
 --- linux-2.6.31.2/arch/ia64/kernel/perfmon.c  2009-09-10 15:25:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/perfmon.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/perfmon.c    2009-09-10 16:11:43.000000000 +0200
 @@ -41,6 +41,7 @@
  #include <linux/rcupdate.h>
  #include <linux/completion.h>
@@ -302,9 +302,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/perfmon.c linux-2.6.31.2-v
        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.31.2/arch/ia64/kernel/process.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/process.c
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/process.c linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/process.c
 --- linux-2.6.31.2/arch/ia64/kernel/process.c  2009-06-11 17:11:57.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/process.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/process.c    2009-09-10 16:11:43.000000000 +0200
 @@ -110,8 +110,8 @@ show_regs (struct pt_regs *regs)
        unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
  
@@ -316,9 +316,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/process.c linux-2.6.31.2-v
        printk("psr : %016lx ifs : %016lx ip  : [<%016lx>]    %s (%s)\n",
               regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(),
               init_utsname()->release);
-diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/ptrace.c
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/ptrace.c
 --- linux-2.6.31.2/arch/ia64/kernel/ptrace.c   2009-09-10 15:25:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/ptrace.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/ptrace.c     2009-09-10 16:11:43.000000000 +0200
 @@ -22,6 +22,7 @@
  #include <linux/regset.h>
  #include <linux/elf.h>
@@ -327,9 +327,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/ptrace.c linux-2.6.31.2-vs
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
-diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/traps.c
 --- linux-2.6.31.2/arch/ia64/kernel/traps.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
 @@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
        put_cpu();
  
@@ -354,9 +354,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/traps.c linux-2.6.31.2-vs2
                        }
                }
        }
-diff -NurpP --minimal linux-2.6.31.2/arch/ia64/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/ia64/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/mm/fault.c
 --- linux-2.6.31.2/arch/ia64/mm/fault.c        2009-09-10 15:25:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/mm/fault.c  2009-09-29 17:26:21.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/ia64/mm/fault.c  2009-09-29 17:26:21.000000000 +0200
 @@ -10,6 +10,7 @@
  #include <linux/interrupt.h>
  #include <linux/kprobes.h>
@@ -375,9 +375,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/ia64/mm/fault.c linux-2.6.31.2-vs2.3.0
        if (user_mode(regs))
                do_group_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/m32r/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/m32r/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/m32r/kernel/traps.c
 --- linux-2.6.31.2/arch/m32r/kernel/traps.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m32r/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
 @@ -196,8 +196,9 @@ static void show_registers(struct pt_reg
        } else {
                printk("SPI: %08lx\n", sp);
@@ -390,9 +390,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m32r/kernel/traps.c linux-2.6.31.2-vs2
  
        /*
         * When in-kernel, we also print out the stack and code at the
-diff -NurpP --minimal linux-2.6.31.2/arch/m32r/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/m32r/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/m32r/mm/fault.c
 --- linux-2.6.31.2/arch/m32r/mm/fault.c        2009-09-10 15:25:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/mm/fault.c  2009-09-29 17:26:48.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m32r/mm/fault.c  2009-09-29 17:26:48.000000000 +0200
 @@ -276,7 +276,8 @@ out_of_memory:
                down_read(&mm->mmap_sem);
                goto survive;
@@ -403,9 +403,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m32r/mm/fault.c linux-2.6.31.2-vs2.3.0
        if (error_code & ACE_USERMODE)
                do_group_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/m68k/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/m68k/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/Kconfig
 --- linux-2.6.31.2/arch/m68k/Kconfig   2009-03-24 14:18:26.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/Kconfig     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/Kconfig     2009-09-10 16:11:43.000000000 +0200
 @@ -616,6 +616,8 @@ source "fs/Kconfig"
  
  source "arch/m68k/Kconfig.debug"
@@ -415,9 +415,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m68k/Kconfig linux-2.6.31.2-vs2.3.0.36
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/ptrace.c
+diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/kernel/ptrace.c
 --- linux-2.6.31.2/arch/m68k/kernel/ptrace.c   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/ptrace.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/kernel/ptrace.c     2009-09-10 16:11:43.000000000 +0200
 @@ -18,6 +18,7 @@
  #include <linux/ptrace.h>
  #include <linux/user.h>
@@ -435,9 +435,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/ptrace.c linux-2.6.31.2-vs
  
        return ret;
  out_eio:
-diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/kernel/traps.c
 --- linux-2.6.31.2/arch/m68k/kernel/traps.c    2009-09-10 15:25:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
 @@ -906,8 +906,8 @@ void show_registers(struct pt_regs *regs
        printk("d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",
               regs->d4, regs->d5, regs->a0, regs->a1);
@@ -449,9 +449,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/traps.c linux-2.6.31.2-vs2
        addr = (unsigned long)&fp->un;
        printk("Frame format=%X ", regs->format);
        switch (regs->format) {
-diff -NurpP --minimal linux-2.6.31.2/arch/m68k/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/m68k/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/mm/fault.c
 --- linux-2.6.31.2/arch/m68k/mm/fault.c        2009-09-10 15:25:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/mm/fault.c  2009-09-29 17:27:45.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m68k/mm/fault.c  2009-09-29 17:27:45.000000000 +0200
 @@ -186,7 +186,8 @@ out_of_memory:
                goto survive;
        }
@@ -462,9 +462,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m68k/mm/fault.c linux-2.6.31.2-vs2.3.0
        if (user_mode(regs))
                do_group_exit(SIGKILL);
  
-diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/m68knommu/Kconfig
 --- linux-2.6.31.2/arch/m68knommu/Kconfig      2009-06-11 17:11:59.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/Kconfig        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m68knommu/Kconfig        2009-09-10 16:11:43.000000000 +0200
 @@ -721,6 +721,8 @@ source "fs/Kconfig"
  
  source "arch/m68knommu/Kconfig.debug"
@@ -474,9 +474,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/Kconfig linux-2.6.31.2-vs2.3
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/m68knommu/kernel/traps.c
 --- linux-2.6.31.2/arch/m68knommu/kernel/traps.c       2009-09-10 15:25:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/m68knommu/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
 @@ -78,8 +78,9 @@ void die_if_kernel(char *str, struct pt_
        printk(KERN_EMERG "d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",
               fp->d4, fp->d5, fp->a0, fp->a1);
@@ -489,9 +489,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/kernel/traps.c linux-2.6.31.
        show_stack(NULL, (unsigned long *)(fp + 1));
        add_taint(TAINT_DIE);
        do_exit(SIGSEGV);
-diff -NurpP --minimal linux-2.6.31.2/arch/microblaze/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/microblaze/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/microblaze/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/microblaze/mm/fault.c
 --- linux-2.6.31.2/arch/microblaze/mm/fault.c  2009-09-10 15:25:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/microblaze/mm/fault.c    2009-09-29 17:28:08.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/microblaze/mm/fault.c    2009-09-29 17:28:08.000000000 +0200
 @@ -279,7 +279,8 @@ out_of_memory:
                goto survive;
        }
@@ -502,9 +502,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/microblaze/mm/fault.c linux-2.6.31.2-v
        if (user_mode(regs))
                do_exit(SIGKILL);
        bad_page_fault(regs, address, SIGKILL);
-diff -NurpP --minimal linux-2.6.31.2/arch/mips/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/mips/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/mips/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/mips/Kconfig
 --- linux-2.6.31.2/arch/mips/Kconfig   2009-09-10 15:25:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/Kconfig     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mips/Kconfig     2009-09-10 16:11:43.000000000 +0200
 @@ -2186,6 +2186,8 @@ source "fs/Kconfig"
  
  source "arch/mips/Kconfig.debug"
@@ -514,9 +514,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mips/Kconfig linux-2.6.31.2-vs2.3.0.36
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/ptrace.c
+diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/ptrace.c
 --- linux-2.6.31.2/arch/mips/kernel/ptrace.c   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/ptrace.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/ptrace.c     2009-09-10 16:11:43.000000000 +0200
 @@ -25,6 +25,7 @@
  #include <linux/security.h>
  #include <linux/audit.h>
@@ -535,9 +535,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/ptrace.c linux-2.6.31.2-vs
        switch (request) {
        /* when I and D space are separate, these will need to be fixed. */
        case PTRACE_PEEKTEXT: /* read word at location addr. */
-diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall32-o32.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall32-o32.S
+diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall32-o32.S linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall32-o32.S
 --- linux-2.6.31.2/arch/mips/kernel/scall32-o32.S      2009-09-10 15:25:38.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall32-o32.S        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall32-o32.S        2009-09-10 16:11:43.000000000 +0200
 @@ -597,7 +597,7 @@ einval:    li      v0, -ENOSYS
        sys     sys_mq_timedreceive     5
        sys     sys_mq_notify           2       /* 4275 */
@@ -547,9 +547,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall32-o32.S linux-2.6.31
        sys     sys_waitid              5
        sys     sys_ni_syscall          0       /* available, was setaltroot */
        sys     sys_add_key             5       /* 4280 */
-diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-64.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-64.S
+diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-64.S linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall64-64.S
 --- linux-2.6.31.2/arch/mips/kernel/scall64-64.S       2009-09-10 15:25:38.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-64.S 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall64-64.S 2009-09-10 16:11:43.000000000 +0200
 @@ -434,7 +434,7 @@ sys_call_table:
        PTR     sys_mq_timedreceive
        PTR     sys_mq_notify
@@ -559,9 +559,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-64.S linux-2.6.31.
        PTR     sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key
-diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-n32.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-n32.S
+diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-n32.S linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall64-n32.S
 --- linux-2.6.31.2/arch/mips/kernel/scall64-n32.S      2009-09-10 15:25:38.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-n32.S        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall64-n32.S        2009-09-10 16:11:43.000000000 +0200
 @@ -360,7 +360,7 @@ EXPORT(sysn32_call_table)
        PTR     compat_sys_mq_timedreceive
        PTR     compat_sys_mq_notify
@@ -571,9 +571,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-n32.S linux-2.6.31
        PTR     compat_sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key
-diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-o32.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-o32.S
+diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-o32.S linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall64-o32.S
 --- linux-2.6.31.2/arch/mips/kernel/scall64-o32.S      2009-09-10 15:25:38.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-o32.S        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/scall64-o32.S        2009-09-10 16:11:43.000000000 +0200
 @@ -480,7 +480,7 @@ sys_call_table:
        PTR     compat_sys_mq_timedreceive
        PTR     compat_sys_mq_notify            /* 4275 */
@@ -583,9 +583,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-o32.S linux-2.6.31
        PTR     sys_32_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key                     /* 4280 */
-diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/traps.c
 --- linux-2.6.31.2/arch/mips/kernel/traps.c    2009-09-10 15:25:38.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mips/kernel/traps.c      2009-09-10 16:11:43.000000000 +0200
 @@ -335,9 +335,10 @@ void show_registers(const struct pt_regs
  
        __show_regs(regs);
@@ -600,9 +600,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/traps.c linux-2.6.31.2-vs2
        if (cpu_has_userlocal) {
                unsigned long tls;
  
-diff -NurpP --minimal linux-2.6.31.2/arch/mn10300/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/mn10300/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/mn10300/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/mn10300/mm/fault.c
 --- linux-2.6.31.2/arch/mn10300/mm/fault.c     2009-09-10 15:25:39.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mn10300/mm/fault.c       2009-09-29 17:28:34.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/mn10300/mm/fault.c       2009-09-29 17:28:34.000000000 +0200
 @@ -339,7 +339,8 @@ no_context:
  out_of_memory:
        up_read(&mm->mmap_sem);
@@ -613,9 +613,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/mn10300/mm/fault.c linux-2.6.31.2-vs2.
        if ((fault_code & MMUFCR_xFC_ACCESS) == MMUFCR_xFC_ACCESS_USR)
                do_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/parisc/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/parisc/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/Kconfig
 --- linux-2.6.31.2/arch/parisc/Kconfig 2009-09-10 15:25:39.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/Kconfig   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/Kconfig   2009-09-10 16:11:43.000000000 +0200
 @@ -293,6 +293,8 @@ source "fs/Kconfig"
  
  source "arch/parisc/Kconfig.debug"
@@ -625,9 +625,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/parisc/Kconfig linux-2.6.31.2-vs2.3.0.
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/syscall_table.S linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/syscall_table.S
+diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/syscall_table.S linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/kernel/syscall_table.S
 --- linux-2.6.31.2/arch/parisc/kernel/syscall_table.S  2009-09-10 15:25:40.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/syscall_table.S    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/kernel/syscall_table.S    2009-09-10 16:11:43.000000000 +0200
 @@ -361,7 +361,7 @@
        ENTRY_COMP(mbind)               /* 260 */
        ENTRY_COMP(get_mempolicy)
@@ -637,9 +637,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/syscall_table.S linux-2.
        ENTRY_SAME(add_key)
        ENTRY_SAME(request_key)         /* 265 */
        ENTRY_SAME(keyctl)
-diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/kernel/traps.c
 --- linux-2.6.31.2/arch/parisc/kernel/traps.c  2009-09-10 15:25:40.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/traps.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/kernel/traps.c    2009-09-10 16:11:43.000000000 +0200
 @@ -236,8 +236,9 @@ void die_if_kernel(char *str, struct pt_
                if (err == 0)
                        return; /* STFU */
@@ -663,9 +663,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/traps.c linux-2.6.31.2-v
  
        /* Wot's wrong wif bein' racy? */
        if (current->thread.flags & PARISC_KERNEL_DEATH) {
-diff -NurpP --minimal linux-2.6.31.2/arch/parisc/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/parisc/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/mm/fault.c
 --- linux-2.6.31.2/arch/parisc/mm/fault.c      2009-09-10 15:25:40.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/mm/fault.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/parisc/mm/fault.c        2009-09-10 16:11:43.000000000 +0200
 @@ -237,8 +237,9 @@ bad_area:
  
  #ifdef PRINT_USER_FAULTS
@@ -688,9 +688,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/parisc/mm/fault.c linux-2.6.31.2-vs2.3
        if (user_mode(regs))
                do_group_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/include/asm/unistd.h linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/include/asm/unistd.h
+diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/include/asm/unistd.h linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/include/asm/unistd.h
 --- linux-2.6.31.2/arch/powerpc/include/asm/unistd.h   2009-09-10 15:25:41.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/include/asm/unistd.h     2009-09-29 17:19:36.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/include/asm/unistd.h     2009-09-29 17:19:36.000000000 +0200
 @@ -275,7 +275,7 @@
  #endif
  #define __NR_rtas             255
@@ -700,9 +700,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/include/asm/unistd.h linux-2.6
  #define __NR_migrate_pages    258
  #define __NR_mbind            259
  #define __NR_get_mempolicy    260
-diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/Kconfig
 --- linux-2.6.31.2/arch/powerpc/Kconfig        2009-09-10 15:25:40.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/Kconfig  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/Kconfig  2009-09-10 16:11:43.000000000 +0200
 @@ -933,6 +933,8 @@ source "lib/Kconfig"
  
  source "arch/powerpc/Kconfig.debug"
@@ -712,9 +712,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/Kconfig linux-2.6.31.2-vs2.3.0
  source "security/Kconfig"
  
  config KEYS_COMPAT
-diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/irq.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/irq.c
+diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/irq.c linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/irq.c
 --- linux-2.6.31.2/arch/powerpc/kernel/irq.c   2009-09-10 15:25:41.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/irq.c     2009-09-10 16:15:56.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/irq.c     2009-09-10 16:15:56.000000000 +0200
 @@ -54,6 +54,7 @@
  #include <linux/pci.h>
  #include <linux/debugfs.h>
@@ -723,9 +723,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/irq.c linux-2.6.31.2-vs
  
  #include <asm/uaccess.h>
  #include <asm/system.h>
-diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/process.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/process.c
+diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/process.c linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/process.c
 --- linux-2.6.31.2/arch/powerpc/kernel/process.c       2009-09-10 15:25:41.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/process.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/process.c 2009-09-10 16:11:43.000000000 +0200
 @@ -519,8 +519,9 @@ void show_regs(struct pt_regs * regs)
  #else
                printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr);
@@ -738,9 +738,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/process.c linux-2.6.31.
  
  #ifdef CONFIG_SMP
        printk(" CPU: %d", raw_smp_processor_id());
-diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/traps.c
+diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/traps.c
 --- linux-2.6.31.2/arch/powerpc/kernel/traps.c 2009-09-10 15:25:41.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/traps.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/traps.c   2009-09-10 16:11:43.000000000 +0200
 @@ -931,8 +931,9 @@ void nonrecoverable_exception(struct pt_
  
  void trace_syscall(struct pt_regs *regs)
@@ -753,9 +753,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/traps.c linux-2.6.31.2-
               regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
  }
  
-diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/vdso.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/vdso.c
+diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/vdso.c linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/vdso.c
 --- linux-2.6.31.2/arch/powerpc/kernel/vdso.c  2009-03-24 14:18:35.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/vdso.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/kernel/vdso.c    2009-09-10 16:11:43.000000000 +0200
 @@ -22,6 +22,7 @@
  #include <linux/security.h>
  #include <linux/bootmem.h>
@@ -764,9 +764,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/vdso.c linux-2.6.31.2-v
  
  #include <asm/pgtable.h>
  #include <asm/system.h>
-diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/mm/fault.c
 --- linux-2.6.31.2/arch/powerpc/mm/fault.c     2009-09-10 15:25:41.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/mm/fault.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/powerpc/mm/fault.c       2009-09-10 16:11:43.000000000 +0200
 @@ -358,7 +358,8 @@ out_of_memory:
                down_read(&mm->mmap_sem);
                goto survive;
@@ -777,9 +777,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/mm/fault.c linux-2.6.31.2-vs2.
        if (user_mode(regs))
                do_group_exit(SIGKILL);
        return SIGKILL;
-diff -NurpP --minimal linux-2.6.31.2/arch/s390/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/s390/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/s390/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/s390/Kconfig
 --- linux-2.6.31.2/arch/s390/Kconfig   2009-09-10 15:25:42.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/Kconfig     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/s390/Kconfig     2009-09-10 16:11:43.000000000 +0200
 @@ -624,6 +624,8 @@ source "fs/Kconfig"
  
  source "arch/s390/Kconfig.debug"
@@ -789,9 +789,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/s390/Kconfig linux-2.6.31.2-vs2.3.0.36
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/ptrace.c
+diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.16/arch/s390/kernel/ptrace.c
 --- linux-2.6.31.2/arch/s390/kernel/ptrace.c   2009-09-10 15:25:43.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/ptrace.c     2009-09-10 16:17:22.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/s390/kernel/ptrace.c     2009-09-10 16:17:22.000000000 +0200
 @@ -36,6 +36,7 @@
  #include <linux/regset.h>
  #include <linux/tracehook.h>
@@ -800,9 +800,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/ptrace.c linux-2.6.31.2-vs
  #include <trace/syscall.h>
  #include <asm/compat.h>
  #include <asm/segment.h>
-diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/syscalls.S linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/syscalls.S
+diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/syscalls.S linux-2.6.31.2-vs2.3.0.36.16/arch/s390/kernel/syscalls.S
 --- linux-2.6.31.2/arch/s390/kernel/syscalls.S 2009-09-10 15:25:43.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/syscalls.S   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/s390/kernel/syscalls.S   2009-09-10 16:11:43.000000000 +0200
 @@ -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)
@@ -812,9 +812,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/syscalls.S linux-2.6.31.2-
  SYSCALL(sys_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.31.2/arch/s390/lib/uaccess_pt.c linux-2.6.31.2-vs2.3.0.36.15/arch/s390/lib/uaccess_pt.c
+diff -NurpP --minimal linux-2.6.31.2/arch/s390/lib/uaccess_pt.c linux-2.6.31.2-vs2.3.0.36.16/arch/s390/lib/uaccess_pt.c
 --- linux-2.6.31.2/arch/s390/lib/uaccess_pt.c  2009-09-10 15:25:43.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/lib/uaccess_pt.c    2009-09-29 17:29:02.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/s390/lib/uaccess_pt.c    2009-09-29 17:29:02.000000000 +0200
 @@ -90,7 +90,8 @@ out_of_memory:
                down_read(&mm->mmap_sem);
                goto survive;
@@ -825,9 +825,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/s390/lib/uaccess_pt.c linux-2.6.31.2-v
        return ret;
  
  out_sigbus:
-diff -NurpP --minimal linux-2.6.31.2/arch/sh/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/sh/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/sh/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/sh/Kconfig
 --- linux-2.6.31.2/arch/sh/Kconfig     2009-09-10 15:25:43.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/Kconfig       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sh/Kconfig       2009-09-10 16:11:43.000000000 +0200
 @@ -813,6 +813,8 @@ source "fs/Kconfig"
  
  source "arch/sh/Kconfig.debug"
@@ -837,9 +837,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sh/Kconfig linux-2.6.31.2-vs2.3.0.36.1
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/irq.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/irq.c
+diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/irq.c linux-2.6.31.2-vs2.3.0.36.16/arch/sh/kernel/irq.c
 --- linux-2.6.31.2/arch/sh/kernel/irq.c        2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/irq.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sh/kernel/irq.c  2009-09-10 16:11:43.000000000 +0200
 @@ -11,6 +11,7 @@
  #include <linux/module.h>
  #include <linux/kernel_stat.h>
@@ -848,9 +848,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/irq.c linux-2.6.31.2-vs2.3.0
  #include <asm/processor.h>
  #include <asm/machvec.h>
  #include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/vsyscall/vsyscall.c
+diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.31.2-vs2.3.0.36.16/arch/sh/kernel/vsyscall/vsyscall.c
 --- linux-2.6.31.2/arch/sh/kernel/vsyscall/vsyscall.c  2009-03-24 14:18:42.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/vsyscall/vsyscall.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sh/kernel/vsyscall/vsyscall.c    2009-09-10 16:11:43.000000000 +0200
 @@ -19,6 +19,7 @@
  #include <linux/elf.h>
  #include <linux/sched.h>
@@ -859,9 +859,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/vsyscall/vsyscall.c linux-2.
  
  /*
   * Should the kernel map a VDSO page into processes and pass its
-diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/fault_32.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/fault_32.c
+diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/fault_32.c linux-2.6.31.2-vs2.3.0.36.16/arch/sh/mm/fault_32.c
 --- linux-2.6.31.2/arch/sh/mm/fault_32.c       2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/fault_32.c 2009-09-29 17:29:36.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sh/mm/fault_32.c 2009-09-29 17:29:36.000000000 +0200
 @@ -246,7 +246,8 @@ out_of_memory:
                down_read(&mm->mmap_sem);
                goto survive;
@@ -872,9 +872,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/fault_32.c linux-2.6.31.2-vs2.3.
        if (user_mode(regs))
                do_group_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/tlbflush_64.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/tlbflush_64.c
+diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/tlbflush_64.c linux-2.6.31.2-vs2.3.0.36.16/arch/sh/mm/tlbflush_64.c
 --- linux-2.6.31.2/arch/sh/mm/tlbflush_64.c    2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/tlbflush_64.c      2009-09-29 17:29:54.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sh/mm/tlbflush_64.c      2009-09-29 17:29:54.000000000 +0200
 @@ -306,7 +306,8 @@ out_of_memory:
                down_read(&mm->mmap_sem);
                goto survive;
@@ -885,9 +885,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/tlbflush_64.c linux-2.6.31.2-vs2
        if (user_mode(regs))
                do_group_exit(SIGKILL);
        goto no_context;
-diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/tlb_64.h linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/tlb_64.h
+diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/tlb_64.h linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/include/asm/tlb_64.h
 --- linux-2.6.31.2/arch/sparc/include/asm/tlb_64.h     2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/tlb_64.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/include/asm/tlb_64.h       2009-09-10 16:11:43.000000000 +0200
 @@ -3,6 +3,7 @@
  
  #include <linux/swap.h>
@@ -896,9 +896,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/tlb_64.h linux-2.6.3
  #include <asm/pgalloc.h>
  #include <asm/tlbflush.h>
  #include <asm/mmu_context.h>
-diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/unistd.h linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/unistd.h
+diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/unistd.h linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/include/asm/unistd.h
 --- linux-2.6.31.2/arch/sparc/include/asm/unistd.h     2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/unistd.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/include/asm/unistd.h       2009-09-10 16:11:43.000000000 +0200
 @@ -335,7 +335,7 @@
  #define __NR_timer_getoverrun 264
  #define __NR_timer_delete     265
@@ -908,9 +908,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/unistd.h linux-2.6.3
  #define __NR_io_setup         268
  #define __NR_io_destroy               269
  #define __NR_io_submit                270
-diff -NurpP --minimal linux-2.6.31.2/arch/sparc/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/sparc/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/Kconfig
 --- linux-2.6.31.2/arch/sparc/Kconfig  2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/Kconfig    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/Kconfig    2009-09-10 16:11:43.000000000 +0200
 @@ -530,6 +530,8 @@ source "fs/Kconfig"
  
  source "arch/sparc/Kconfig.debug"
@@ -920,9 +920,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sparc/Kconfig linux-2.6.31.2-vs2.3.0.3
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_32.S linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_32.S
+diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_32.S linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/kernel/systbls_32.S
 --- linux-2.6.31.2/arch/sparc/kernel/systbls_32.S      2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_32.S        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/kernel/systbls_32.S        2009-09-10 16:11:43.000000000 +0200
 @@ -70,7 +70,7 @@ sys_call_table:
  /*250*/       .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
  /*255*/       .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
@@ -932,9 +932,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_32.S linux-2.6.31
  /*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_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
-diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_64.S linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_64.S
+diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_64.S linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/kernel/systbls_64.S
 --- linux-2.6.31.2/arch/sparc/kernel/systbls_64.S      2009-09-10 15:25:45.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_64.S        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/sparc/kernel/systbls_64.S        2009-09-10 16:11:43.000000000 +0200
 @@ -71,7 +71,7 @@ sys_call_table32:
  /*250*/       .word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
        .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
@@ -953,9 +953,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_64.S linux-2.6.31
  /*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_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
-diff -NurpP --minimal linux-2.6.31.2/arch/x86/ia32/ia32entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/x86/ia32/ia32entry.S
+diff -NurpP --minimal linux-2.6.31.2/arch/x86/ia32/ia32entry.S linux-2.6.31.2-vs2.3.0.36.16/arch/x86/ia32/ia32entry.S
 --- linux-2.6.31.2/arch/x86/ia32/ia32entry.S   2009-09-10 15:25:46.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/ia32/ia32entry.S     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/x86/ia32/ia32entry.S     2009-09-10 16:11:43.000000000 +0200
 @@ -768,7 +768,7 @@ ia32_sys_call_table:
        .quad sys_tgkill                /* 270 */
        .quad compat_sys_utimes
@@ -965,9 +965,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/x86/ia32/ia32entry.S linux-2.6.31.2-vs
        .quad sys_mbind
        .quad compat_sys_get_mempolicy  /* 275 */
        .quad sys_set_mempolicy
-diff -NurpP --minimal linux-2.6.31.2/arch/x86/include/asm/unistd_64.h linux-2.6.31.2-vs2.3.0.36.15/arch/x86/include/asm/unistd_64.h
+diff -NurpP --minimal linux-2.6.31.2/arch/x86/include/asm/unistd_64.h linux-2.6.31.2-vs2.3.0.36.16/arch/x86/include/asm/unistd_64.h
 --- linux-2.6.31.2/arch/x86/include/asm/unistd_64.h    2009-09-10 15:25:47.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/include/asm/unistd_64.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/x86/include/asm/unistd_64.h      2009-09-10 16:11:43.000000000 +0200
 @@ -535,7 +535,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
  #define __NR_utimes                           235
  __SYSCALL(__NR_utimes, sys_utimes)
@@ -977,9 +977,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/x86/include/asm/unistd_64.h linux-2.6.
  #define __NR_mbind                            237
  __SYSCALL(__NR_mbind, sys_mbind)
  #define __NR_set_mempolicy                    238
-diff -NurpP --minimal linux-2.6.31.2/arch/x86/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/x86/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/arch/x86/Kconfig linux-2.6.31.2-vs2.3.0.36.16/arch/x86/Kconfig
 --- linux-2.6.31.2/arch/x86/Kconfig    2009-09-10 15:25:46.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/Kconfig      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/x86/Kconfig      2009-09-10 16:11:43.000000000 +0200
 @@ -2088,6 +2088,8 @@ source "fs/Kconfig"
  
  source "arch/x86/Kconfig.debug"
@@ -989,9 +989,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/x86/Kconfig linux-2.6.31.2-vs2.3.0.36.
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-2.6.31.2/arch/x86/kernel/syscall_table_32.S linux-2.6.31.2-vs2.3.0.36.15/arch/x86/kernel/syscall_table_32.S
+diff -NurpP --minimal linux-2.6.31.2/arch/x86/kernel/syscall_table_32.S linux-2.6.31.2-vs2.3.0.36.16/arch/x86/kernel/syscall_table_32.S
 --- linux-2.6.31.2/arch/x86/kernel/syscall_table_32.S  2009-09-10 15:25:47.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/kernel/syscall_table_32.S    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/x86/kernel/syscall_table_32.S    2009-09-10 16:11:43.000000000 +0200
 @@ -272,7 +272,7 @@ ENTRY(sys_call_table)
        .long sys_tgkill        /* 270 */
        .long sys_utimes
@@ -1001,9 +1001,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/x86/kernel/syscall_table_32.S linux-2.
        .long sys_mbind
        .long sys_get_mempolicy
        .long sys_set_mempolicy
-diff -NurpP --minimal linux-2.6.31.2/arch/xtensa/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/xtensa/mm/fault.c
+diff -NurpP --minimal linux-2.6.31.2/arch/xtensa/mm/fault.c linux-2.6.31.2-vs2.3.0.36.16/arch/xtensa/mm/fault.c
 --- linux-2.6.31.2/arch/xtensa/mm/fault.c      2009-09-10 15:25:48.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/arch/xtensa/mm/fault.c        2009-09-29 17:30:14.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/arch/xtensa/mm/fault.c        2009-09-29 17:30:14.000000000 +0200
 @@ -151,7 +151,8 @@ out_of_memory:
                down_read(&mm->mmap_sem);
                goto survive;
@@ -1014,9 +1014,9 @@ diff -NurpP --minimal linux-2.6.31.2/arch/xtensa/mm/fault.c linux-2.6.31.2-vs2.3
        if (user_mode(regs))
                do_group_exit(SIGKILL);
        bad_page_fault(regs, address, SIGKILL);
-diff -NurpP --minimal linux-2.6.31.2/Documentation/scheduler/sched-cfs-hard-limits.txt linux-2.6.31.2-vs2.3.0.36.15/Documentation/scheduler/sched-cfs-hard-limits.txt
+diff -NurpP --minimal linux-2.6.31.2/Documentation/scheduler/sched-cfs-hard-limits.txt linux-2.6.31.2-vs2.3.0.36.16/Documentation/scheduler/sched-cfs-hard-limits.txt
 --- linux-2.6.31.2/Documentation/scheduler/sched-cfs-hard-limits.txt   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/Documentation/scheduler/sched-cfs-hard-limits.txt     2009-10-06 04:39:46.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/Documentation/scheduler/sched-cfs-hard-limits.txt     2009-10-06 04:39:46.000000000 +0200
 @@ -0,0 +1,52 @@
 +CPU HARD LIMITS FOR CFS GROUPS
 +==============================
@@ -1070,9 +1070,9 @@ diff -NurpP --minimal linux-2.6.31.2/Documentation/scheduler/sched-cfs-hard-limi
 +# echo 250000 > cfs_runtime_us /* set a 250ms runtime or limit */
 +# echo 500000 > cfs_period_us /* set a 500ms period */
 +# echo 1 > cfs_hard_limit /* enable hard limiting for group 1/ */
-diff -NurpP --minimal linux-2.6.31.2/Documentation/vserver/debug.txt linux-2.6.31.2-vs2.3.0.36.15/Documentation/vserver/debug.txt
+diff -NurpP --minimal linux-2.6.31.2/Documentation/vserver/debug.txt linux-2.6.31.2-vs2.3.0.36.16/Documentation/vserver/debug.txt
 --- linux-2.6.31.2/Documentation/vserver/debug.txt     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/Documentation/vserver/debug.txt       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/Documentation/vserver/debug.txt       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,154 @@
 +
 +debug_cvirt:
@@ -1228,9 +1228,9 @@ diff -NurpP --minimal linux-2.6.31.2/Documentation/vserver/debug.txt linux-2.6.3
 + m 2^m        "vx_acc_page[%5d,%s,%2d]: %5d%s"
 +      "vx_acc_pages[%5d,%s,%2d]: %5d += %5d"
 +      "vx_pages_avail[%5d,%s,%2d]: %5ld > %5d + %5d"
-diff -NurpP --minimal linux-2.6.31.2/drivers/block/Kconfig linux-2.6.31.2-vs2.3.0.36.15/drivers/block/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/drivers/block/Kconfig linux-2.6.31.2-vs2.3.0.36.16/drivers/block/Kconfig
 --- linux-2.6.31.2/drivers/block/Kconfig       2009-09-10 15:25:49.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/block/Kconfig 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/block/Kconfig 2009-09-10 16:11:43.000000000 +0200
 @@ -271,6 +271,13 @@ config BLK_DEV_CRYPTOLOOP
          instead, which can be configured to be on-disk compatible with the
          cryptoloop device.
@@ -1245,9 +1245,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/block/Kconfig linux-2.6.31.2-vs2.3.
  config BLK_DEV_NBD
        tristate "Network block device support"
        depends on NET
-diff -NurpP --minimal linux-2.6.31.2/drivers/block/loop.c linux-2.6.31.2-vs2.3.0.36.15/drivers/block/loop.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/block/loop.c linux-2.6.31.2-vs2.3.0.36.16/drivers/block/loop.c
 --- linux-2.6.31.2/drivers/block/loop.c        2009-09-10 15:25:49.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/block/loop.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/block/loop.c  2009-09-10 16:11:43.000000000 +0200
 @@ -74,6 +74,7 @@
  #include <linux/gfp.h>
  #include <linux/kthread.h>
@@ -1301,9 +1301,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/block/loop.c linux-2.6.31.2-vs2.3.0
        mutex_lock(&lo->lo_ctl_mutex);
        lo->lo_refcnt++;
        mutex_unlock(&lo->lo_ctl_mutex);
-diff -NurpP --minimal linux-2.6.31.2/drivers/block/Makefile linux-2.6.31.2-vs2.3.0.36.15/drivers/block/Makefile
+diff -NurpP --minimal linux-2.6.31.2/drivers/block/Makefile linux-2.6.31.2-vs2.3.0.36.16/drivers/block/Makefile
 --- linux-2.6.31.2/drivers/block/Makefile      2009-09-10 15:25:49.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/block/Makefile        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/block/Makefile        2009-09-10 16:11:43.000000000 +0200
 @@ -34,6 +34,7 @@ obj-$(CONFIG_VIODASD)                += viodasd.o
  obj-$(CONFIG_BLK_DEV_SX8)     += sx8.o
  obj-$(CONFIG_BLK_DEV_UB)      += ub.o
@@ -1312,9 +1312,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/block/Makefile linux-2.6.31.2-vs2.3
  
  obj-$(CONFIG_XEN_BLKDEV_FRONTEND)     += xen-blkfront.o
  
-diff -NurpP --minimal linux-2.6.31.2/drivers/block/vroot.c linux-2.6.31.2-vs2.3.0.36.15/drivers/block/vroot.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/block/vroot.c linux-2.6.31.2-vs2.3.0.36.16/drivers/block/vroot.c
 --- linux-2.6.31.2/drivers/block/vroot.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/block/vroot.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/block/vroot.c 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,281 @@
 +/*
 + *  linux/drivers/block/vroot.c
@@ -1597,9 +1597,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/block/vroot.c linux-2.6.31.2-vs2.3.
 +
 +#endif
 +
-diff -NurpP --minimal linux-2.6.31.2/drivers/char/sysrq.c linux-2.6.31.2-vs2.3.0.36.15/drivers/char/sysrq.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/char/sysrq.c linux-2.6.31.2-vs2.3.0.36.16/drivers/char/sysrq.c
 --- linux-2.6.31.2/drivers/char/sysrq.c        2009-09-10 15:25:50.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/char/sysrq.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/char/sysrq.c  2009-09-10 16:11:43.000000000 +0200
 @@ -37,6 +37,7 @@
  #include <linux/workqueue.h>
  #include <linux/hrtimer.h>
@@ -1651,9 +1651,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/char/sysrq.c linux-2.6.31.2-vs2.3.0
        else
                retval = -1;
        return retval;
-diff -NurpP --minimal linux-2.6.31.2/drivers/char/tty_io.c linux-2.6.31.2-vs2.3.0.36.15/drivers/char/tty_io.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/char/tty_io.c linux-2.6.31.2-vs2.3.0.36.16/drivers/char/tty_io.c
 --- linux-2.6.31.2/drivers/char/tty_io.c       2009-10-05 23:29:01.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/char/tty_io.c 2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/char/tty_io.c 2009-10-05 23:35:52.000000000 +0200
 @@ -106,6 +106,7 @@
  
  #include <linux/kmod.h>
@@ -1670,9 +1670,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/char/tty_io.c linux-2.6.31.2-vs2.3.
        if (pgrp_nr < 0)
                return -EINVAL;
        rcu_read_lock();
-diff -NurpP --minimal linux-2.6.31.2/drivers/infiniband/hw/ipath/ipath_user_pages.c linux-2.6.31.2-vs2.3.0.36.15/drivers/infiniband/hw/ipath/ipath_user_pages.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/infiniband/hw/ipath/ipath_user_pages.c linux-2.6.31.2-vs2.3.0.36.16/drivers/infiniband/hw/ipath/ipath_user_pages.c
 --- linux-2.6.31.2/drivers/infiniband/hw/ipath/ipath_user_pages.c      2009-06-11 17:12:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/infiniband/hw/ipath/ipath_user_pages.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/infiniband/hw/ipath/ipath_user_pages.c        2009-09-10 16:11:43.000000000 +0200
 @@ -33,6 +33,7 @@
  
  #include <linux/mm.h>
@@ -1718,9 +1718,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/infiniband/hw/ipath/ipath_user_page
        up_write(&work->mm->mmap_sem);
        mmput(work->mm);
        kfree(work);
-diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm.c linux-2.6.31.2-vs2.3.0.36.15/drivers/md/dm.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm.c linux-2.6.31.2-vs2.3.0.36.16/drivers/md/dm.c
 --- linux-2.6.31.2/drivers/md/dm.c     2009-09-10 15:25:55.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/md/dm.c       2009-09-10 16:15:37.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/md/dm.c       2009-09-10 16:15:37.000000000 +0200
 @@ -19,6 +19,7 @@
  #include <linux/slab.h>
  #include <linux/idr.h>
@@ -1794,9 +1794,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm.c linux-2.6.31.2-vs2.3.0.36.1
        md->queue = blk_init_queue(dm_request_fn, NULL);
        if (!md->queue)
                goto bad_queue;
-diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm.h linux-2.6.31.2-vs2.3.0.36.15/drivers/md/dm.h
+diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm.h linux-2.6.31.2-vs2.3.0.36.16/drivers/md/dm.h
 --- linux-2.6.31.2/drivers/md/dm.h     2009-09-10 15:25:55.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/md/dm.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/md/dm.h       2009-09-10 16:11:43.000000000 +0200
 @@ -41,6 +41,8 @@ struct dm_dev_internal {
  struct dm_table;
  struct dm_md_mempools;
@@ -1806,9 +1806,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm.h linux-2.6.31.2-vs2.3.0.36.1
  /*-----------------------------------------------------------------
   * Internal table functions.
   *---------------------------------------------------------------*/
-diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm-ioctl.c linux-2.6.31.2-vs2.3.0.36.15/drivers/md/dm-ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm-ioctl.c linux-2.6.31.2-vs2.3.0.36.16/drivers/md/dm-ioctl.c
 --- linux-2.6.31.2/drivers/md/dm-ioctl.c       2009-09-10 15:25:55.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/md/dm-ioctl.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/md/dm-ioctl.c 2009-09-10 16:11:43.000000000 +0200
 @@ -16,6 +16,7 @@
  #include <linux/dm-ioctl.h>
  #include <linux/hdreg.h>
@@ -1890,9 +1890,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/md/dm-ioctl.c linux-2.6.31.2-vs2.3.
                return -EACCES;
  
        if (_IOC_TYPE(command) != DM_IOCTL)
-diff -NurpP --minimal linux-2.6.31.2/drivers/net/tun.c linux-2.6.31.2-vs2.3.0.36.15/drivers/net/tun.c
+diff -NurpP --minimal linux-2.6.31.2/drivers/net/tun.c linux-2.6.31.2-vs2.3.0.36.16/drivers/net/tun.c
 --- linux-2.6.31.2/drivers/net/tun.c   2009-09-10 15:26:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/drivers/net/tun.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/drivers/net/tun.c     2009-09-10 16:11:43.000000000 +0200
 @@ -61,6 +61,7 @@
  #include <linux/crc32.h>
  #include <linux/nsproxy.h>
@@ -1962,9 +1962,9 @@ diff -NurpP --minimal linux-2.6.31.2/drivers/net/tun.c linux-2.6.31.2-vs2.3.0.36
        case TUNSETLINK:
                /* Only allow setting the type when the interface is down */
                if (tun->dev->flags & IFF_UP) {
-diff -NurpP --minimal linux-2.6.31.2/fs/attr.c linux-2.6.31.2-vs2.3.0.36.15/fs/attr.c
+diff -NurpP --minimal linux-2.6.31.2/fs/attr.c linux-2.6.31.2-vs2.3.0.36.16/fs/attr.c
 --- linux-2.6.31.2/fs/attr.c   2009-06-11 17:13:01.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/attr.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/attr.c     2009-09-10 16:11:43.000000000 +0200
 @@ -14,6 +14,9 @@
  #include <linux/fcntl.h>
  #include <linux/quotaops.h>
@@ -2005,9 +2005,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/attr.c linux-2.6.31.2-vs2.3.0.36.15/fs/a
                                error = vfs_dq_transfer(inode, attr) ?
                                        -EDQUOT : 0;
                        if (!error)
-diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_aout.c linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_aout.c
+diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_aout.c linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_aout.c
 --- linux-2.6.31.2/fs/binfmt_aout.c    2009-03-24 14:22:24.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_aout.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_aout.c      2009-09-10 16:11:43.000000000 +0200
 @@ -24,6 +24,7 @@
  #include <linux/binfmts.h>
  #include <linux/personality.h>
@@ -2016,9 +2016,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_aout.c linux-2.6.31.2-vs2.3.0.36.
  
  #include <asm/system.h>
  #include <asm/uaccess.h>
-diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_elf.c linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_elf.c
+diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_elf.c linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_elf.c
 --- linux-2.6.31.2/fs/binfmt_elf.c     2009-10-05 23:29:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_elf.c       2009-09-29 17:02:58.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_elf.c       2009-09-29 17:02:58.000000000 +0200
 @@ -31,6 +31,7 @@
  #include <linux/random.h>
  #include <linux/elf.h>
@@ -2027,9 +2027,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_elf.c linux-2.6.31.2-vs2.3.0.36.1
  #include <asm/uaccess.h>
  #include <asm/param.h>
  #include <asm/page.h>
-diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_flat.c linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_flat.c
+diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_flat.c linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_flat.c
 --- linux-2.6.31.2/fs/binfmt_flat.c    2009-09-10 15:26:20.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_flat.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_flat.c      2009-09-10 16:11:43.000000000 +0200
 @@ -35,6 +35,7 @@
  #include <linux/init.h>
  #include <linux/flat.h>
@@ -2038,9 +2038,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_flat.c linux-2.6.31.2-vs2.3.0.36.
  
  #include <asm/byteorder.h>
  #include <asm/system.h>
-diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_som.c linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_som.c
+diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_som.c linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_som.c
 --- linux-2.6.31.2/fs/binfmt_som.c     2009-06-11 17:13:02.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/binfmt_som.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/binfmt_som.c       2009-09-10 16:11:43.000000000 +0200
 @@ -28,6 +28,7 @@
  #include <linux/shm.h>
  #include <linux/personality.h>
@@ -2049,9 +2049,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/binfmt_som.c linux-2.6.31.2-vs2.3.0.36.1
  
  #include <asm/uaccess.h>
  #include <asm/pgtable.h>
-diff -NurpP --minimal linux-2.6.31.2/fs/block_dev.c linux-2.6.31.2-vs2.3.0.36.15/fs/block_dev.c
+diff -NurpP --minimal linux-2.6.31.2/fs/block_dev.c linux-2.6.31.2-vs2.3.0.36.16/fs/block_dev.c
 --- linux-2.6.31.2/fs/block_dev.c      2009-09-10 15:26:20.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/block_dev.c        2009-09-10 17:01:13.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/block_dev.c        2009-09-10 17:01:13.000000000 +0200
 @@ -26,6 +26,7 @@
  #include <linux/namei.h>
  #include <linux/log2.h>
@@ -2089,9 +2089,234 @@ diff -NurpP --minimal linux-2.6.31.2/fs/block_dev.c linux-2.6.31.2-vs2.3.0.36.15
        if (bdev) {
                spin_lock(&bdev_lock);
                if (!inode->i_bdev) {
-diff -NurpP --minimal linux-2.6.31.2/fs/char_dev.c linux-2.6.31.2-vs2.3.0.36.15/fs/char_dev.c
+diff -NurpP --minimal linux-2.6.31.2/fs/btrfs/ctree.h linux-2.6.31.2-vs2.3.0.36.16/fs/btrfs/ctree.h
+--- linux-2.6.31.2/fs/btrfs/ctree.h    2009-09-10 15:26:20.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/btrfs/ctree.h      2009-10-07 16:04:22.000000000 +0200
+@@ -1138,6 +1138,10 @@ struct btrfs_root {
+ #define BTRFS_INODE_NOATIME           (1 << 9)
+ #define BTRFS_INODE_DIRSYNC           (1 << 10)
++#define BTRFS_INODE_IXUNLINK          (1 << 24)
++#define BTRFS_INODE_BARRIER           (1 << 25)
++#define BTRFS_INODE_COW                       (1 << 26)
++
+ /* some macros to generate set/get funcs for the struct fields.  This
+  * assumes there is a lefoo_to_cpu for every type, so lets make a simple
+@@ -2280,6 +2284,7 @@ int btrfs_cont_expand(struct inode *inod
+ long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
+ void btrfs_update_iflags(struct inode *inode);
+ void btrfs_inherit_iflags(struct inode *inode, struct inode *dir);
++int btrfs_sync_flags(struct inode *inode, int, int);
+ /* file.c */
+ int btrfs_sync_file(struct file *file, struct dentry *dentry, int datasync);
+diff -NurpP --minimal linux-2.6.31.2/fs/btrfs/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/btrfs/inode.c
+--- linux-2.6.31.2/fs/btrfs/inode.c    2009-09-10 15:26:21.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/btrfs/inode.c      2009-10-07 16:04:22.000000000 +0200
+@@ -5217,7 +5217,9 @@ static struct inode_operations btrfs_dir
+       .getxattr       = btrfs_getxattr,
+       .listxattr      = btrfs_listxattr,
+       .removexattr    = btrfs_removexattr,
++      .sync_flags     = btrfs_sync_flags,
+       .permission     = btrfs_permission,
++      .sync_flags     = btrfs_sync_flags,
+ };
+ static struct inode_operations btrfs_dir_ro_inode_operations = {
+       .lookup         = btrfs_lookup,
+@@ -5289,6 +5291,7 @@ static struct inode_operations btrfs_fil
+       .permission     = btrfs_permission,
+       .fallocate      = btrfs_fallocate,
+       .fiemap         = btrfs_fiemap,
++      .sync_flags     = btrfs_sync_flags,
+ };
+ static struct inode_operations btrfs_special_inode_operations = {
+       .getattr        = btrfs_getattr,
+diff -NurpP --minimal linux-2.6.31.2/fs/btrfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/btrfs/ioctl.c
+--- linux-2.6.31.2/fs/btrfs/ioctl.c    2009-09-10 15:26:21.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/btrfs/ioctl.c      2009-10-07 16:24:50.000000000 +0200
+@@ -67,10 +67,13 @@ static unsigned int btrfs_flags_to_ioctl
+ {
+       unsigned int iflags = 0;
+-      if (flags & BTRFS_INODE_SYNC)
+-              iflags |= FS_SYNC_FL;
+       if (flags & BTRFS_INODE_IMMUTABLE)
+               iflags |= FS_IMMUTABLE_FL;
++      if (flags & BTRFS_INODE_IXUNLINK)
++              iflags |= FS_IXUNLINK_FL;
++
++      if (flags & BTRFS_INODE_SYNC)
++              iflags |= FS_SYNC_FL;
+       if (flags & BTRFS_INODE_APPEND)
+               iflags |= FS_APPEND_FL;
+       if (flags & BTRFS_INODE_NODUMP)
+@@ -80,28 +83,78 @@ static unsigned int btrfs_flags_to_ioctl
+       if (flags & BTRFS_INODE_DIRSYNC)
+               iflags |= FS_DIRSYNC_FL;
++      if (flags & BTRFS_INODE_BARRIER)
++              iflags |= FS_BARRIER_FL;
++      if (flags & BTRFS_INODE_COW)
++              iflags |= FS_COW_FL;
+       return iflags;
+ }
+ /*
+- * Update inode->i_flags based on the btrfs internal flags.
++ * Update inode->i_(v)flags based on the btrfs internal flags.
+  */
+ void btrfs_update_iflags(struct inode *inode)
+ {
+       struct btrfs_inode *ip = BTRFS_I(inode);
+-      inode->i_flags &= ~(S_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC);
++      inode->i_flags &= ~(S_IMMUTABLE | S_IXUNLINK |
++              S_SYNC | S_APPEND | S_NOATIME | S_DIRSYNC);
+-      if (ip->flags & BTRFS_INODE_SYNC)
+-              inode->i_flags |= S_SYNC;
+       if (ip->flags & BTRFS_INODE_IMMUTABLE)
+               inode->i_flags |= S_IMMUTABLE;
++      if (ip->flags & BTRFS_INODE_IXUNLINK)
++              inode->i_flags |= S_IXUNLINK;
++
++      if (ip->flags & BTRFS_INODE_SYNC)
++              inode->i_flags |= S_SYNC;
+       if (ip->flags & BTRFS_INODE_APPEND)
+               inode->i_flags |= S_APPEND;
+       if (ip->flags & BTRFS_INODE_NOATIME)
+               inode->i_flags |= S_NOATIME;
+       if (ip->flags & BTRFS_INODE_DIRSYNC)
+               inode->i_flags |= S_DIRSYNC;
++
++      inode->i_vflags &= ~(V_BARRIER | V_COW);
++
++      if (ip->flags & BTRFS_INODE_BARRIER)
++              inode->i_vflags |= V_BARRIER;
++      if (ip->flags & BTRFS_INODE_COW)
++              inode->i_vflags |= V_COW;
++}
++
++/*
++ * Update btrfs internal flags from inode->i_(v)flags.
++ */
++void btrfs_update_flags(struct inode *inode)
++{
++      struct btrfs_inode *ip = BTRFS_I(inode);
++
++      unsigned int flags = inode->i_flags;
++      unsigned int vflags = inode->i_vflags;
++
++      ip->flags &= ~(BTRFS_INODE_SYNC | BTRFS_INODE_APPEND |
++                      BTRFS_INODE_IMMUTABLE | BTRFS_INODE_IXUNLINK |
++                      BTRFS_INODE_NOATIME | BTRFS_INODE_DIRSYNC |
++                      BTRFS_INODE_BARRIER | BTRFS_INODE_COW);
++
++      if (flags & S_IMMUTABLE)
++              ip->flags |= BTRFS_INODE_IMMUTABLE;
++      if (flags & S_IXUNLINK)
++              ip->flags |= BTRFS_INODE_IXUNLINK;
++
++      if (flags & S_SYNC)
++              ip->flags |= BTRFS_INODE_SYNC;
++      if (flags & S_APPEND)
++              ip->flags |= BTRFS_INODE_APPEND;
++      if (flags & S_NOATIME)
++              ip->flags |= BTRFS_INODE_NOATIME;
++      if (flags & S_DIRSYNC)
++              ip->flags |= BTRFS_INODE_DIRSYNC;
++
++      if (vflags & V_BARRIER)
++              ip->flags |= BTRFS_INODE_BARRIER;
++      if (vflags & V_COW)
++              ip->flags |= BTRFS_INODE_COW;
+ }
+ /*
+@@ -119,7 +172,7 @@ void btrfs_inherit_iflags(struct inode *
+       flags = BTRFS_I(dir)->flags;
+       if (S_ISREG(inode->i_mode))
+-              flags &= ~BTRFS_INODE_DIRSYNC;
++              flags &= ~(BTRFS_INODE_DIRSYNC | BTRFS_INODE_BARRIER);
+       else if (!S_ISDIR(inode->i_mode))
+               flags &= (BTRFS_INODE_NODUMP | BTRFS_INODE_NOATIME);
+@@ -127,6 +180,28 @@ void btrfs_inherit_iflags(struct inode *
+       btrfs_update_iflags(inode);
+ }
++int btrfs_sync_flags(struct inode *inode, int flags, int vflags)
++{
++      struct btrfs_inode *ip = BTRFS_I(inode);
++      struct btrfs_root *root = ip->root;
++      struct btrfs_trans_handle *trans;
++      int ret;
++
++      trans = btrfs_join_transaction(root, 1);
++      BUG_ON(!trans);
++
++      ret = btrfs_update_inode(trans, root, inode);
++      BUG_ON(ret);
++
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
++      btrfs_update_flags(inode);
++      inode->i_ctime = CURRENT_TIME;
++      btrfs_end_transaction(trans, root);
++
++      return 0;
++}
++
+ static int btrfs_ioctl_getflags(struct file *file, void __user *arg)
+ {
+       struct btrfs_inode *ip = BTRFS_I(file->f_path.dentry->d_inode);
+@@ -149,6 +224,7 @@ static int btrfs_ioctl_setflags(struct f
+       if (copy_from_user(&flags, arg, sizeof(flags)))
+               return -EFAULT;
++      /* maybe add FS_IXUNLINK_FL ? */
+       if (flags & ~(FS_IMMUTABLE_FL | FS_APPEND_FL | \
+                     FS_NOATIME_FL | FS_NODUMP_FL | \
+                     FS_SYNC_FL | FS_DIRSYNC_FL))
+@@ -161,7 +237,8 @@ static int btrfs_ioctl_setflags(struct f
+       flags = btrfs_mask_flags(inode->i_mode, flags);
+       oldflags = btrfs_flags_to_ioctl(ip->flags);
+-      if ((flags ^ oldflags) & (FS_APPEND_FL | FS_IMMUTABLE_FL)) {
++      if ((flags ^ oldflags) & (FS_APPEND_FL |
++              FS_IMMUTABLE_FL | FS_IXUNLINK_FL)) {
+               if (!capable(CAP_LINUX_IMMUTABLE)) {
+                       ret = -EPERM;
+                       goto out_unlock;
+@@ -172,14 +249,19 @@ static int btrfs_ioctl_setflags(struct f
+       if (ret)
+               goto out_unlock;
+-      if (flags & FS_SYNC_FL)
+-              ip->flags |= BTRFS_INODE_SYNC;
+-      else
+-              ip->flags &= ~BTRFS_INODE_SYNC;
+       if (flags & FS_IMMUTABLE_FL)
+               ip->flags |= BTRFS_INODE_IMMUTABLE;
+       else
+               ip->flags &= ~BTRFS_INODE_IMMUTABLE;
++      if (flags & FS_IXUNLINK_FL)
++              ip->flags |= BTRFS_INODE_IXUNLINK;
++      else
++              ip->flags &= ~BTRFS_INODE_IXUNLINK;
++
++      if (flags & FS_SYNC_FL)
++              ip->flags |= BTRFS_INODE_SYNC;
++      else
++              ip->flags &= ~BTRFS_INODE_SYNC;
+       if (flags & FS_APPEND_FL)
+               ip->flags |= BTRFS_INODE_APPEND;
+       else
+diff -NurpP --minimal linux-2.6.31.2/fs/char_dev.c linux-2.6.31.2-vs2.3.0.36.16/fs/char_dev.c
 --- linux-2.6.31.2/fs/char_dev.c       2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/char_dev.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/char_dev.c 2009-09-10 16:11:43.000000000 +0200
 @@ -20,6 +20,8 @@
  #include <linux/cdev.h>
  #include <linux/mutex.h>
@@ -2124,9 +2349,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/char_dev.c linux-2.6.31.2-vs2.3.0.36.15/
                if (!kobj)
                        return -ENXIO;
                new = container_of(kobj, struct cdev, kobj);
-diff -NurpP --minimal linux-2.6.31.2/fs/dcache.c linux-2.6.31.2-vs2.3.0.36.15/fs/dcache.c
+diff -NurpP --minimal linux-2.6.31.2/fs/dcache.c linux-2.6.31.2-vs2.3.0.36.16/fs/dcache.c
 --- linux-2.6.31.2/fs/dcache.c 2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/dcache.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/dcache.c   2009-09-10 16:11:43.000000000 +0200
 @@ -32,6 +32,7 @@
  #include <linux/swap.h>
  #include <linux/bootmem.h>
@@ -2178,9 +2403,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/dcache.c linux-2.6.31.2-vs2.3.0.36.15/fs
                found = dentry;
                spin_unlock(&dentry->d_lock);
                break;
-diff -NurpP --minimal linux-2.6.31.2/fs/devpts/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/devpts/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/devpts/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/devpts/inode.c
 --- linux-2.6.31.2/fs/devpts/inode.c   2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/devpts/inode.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/devpts/inode.c     2009-09-10 16:11:43.000000000 +0200
 @@ -19,12 +19,12 @@
  #include <linux/tty.h>
  #include <linux/mutex.h>
@@ -2270,9 +2495,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/devpts/inode.c linux-2.6.31.2-vs2.3.0.36
        inode->i_private = tty;
        tty->driver_data = inode;
  
-diff -NurpP --minimal linux-2.6.31.2/fs/exec.c linux-2.6.31.2-vs2.3.0.36.15/fs/exec.c
+diff -NurpP --minimal linux-2.6.31.2/fs/exec.c linux-2.6.31.2-vs2.3.0.36.16/fs/exec.c
 --- linux-2.6.31.2/fs/exec.c   2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/exec.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/exec.c     2009-09-10 16:11:43.000000000 +0200
 @@ -249,7 +249,9 @@ static int __bprm_mm_init(struct linux_b
        if (err)
                goto err;
@@ -2293,9 +2518,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/exec.c linux-2.6.31.2-vs2.3.0.36.15/fs/e
                                rc = snprintf(out_ptr, out_end - out_ptr,
                                              "%lu", tv.tv_sec);
                                if (rc > out_end - out_ptr)
-diff -NurpP --minimal linux-2.6.31.2/fs/ext2/balloc.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/balloc.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext2/balloc.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/balloc.c
 --- linux-2.6.31.2/fs/ext2/balloc.c    2009-06-11 17:13:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/balloc.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/balloc.c      2009-09-10 16:11:43.000000000 +0200
 @@ -701,7 +701,6 @@ ext2_try_to_allocate(struct super_block 
                        start = 0;
                end = EXT2_BLOCKS_PER_GROUP(sb);
@@ -2304,29 +2529,29 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/balloc.c linux-2.6.31.2-vs2.3.0.36.
        BUG_ON(start > EXT2_BLOCKS_PER_GROUP(sb));
  
  repeat:
-diff -NurpP --minimal linux-2.6.31.2/fs/ext2/ext2.h linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/ext2.h
+diff -NurpP --minimal linux-2.6.31.2/fs/ext2/ext2.h linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/ext2.h
 --- linux-2.6.31.2/fs/ext2/ext2.h      2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/ext2.h        2009-09-10 16:11:43.000000000 +0200
-@@ -163,6 +163,7 @@ extern const struct file_operations ext2
- extern const struct address_space_operations ext2_aops;
- extern const struct address_space_operations ext2_aops_xip;
extern const struct address_space_operations ext2_nobh_aops;
-+extern int ext2_sync_flags(struct inode *inode);
- /* namei.c */
- extern const struct inode_operations ext2_dir_inode_operations;
-diff -NurpP --minimal linux-2.6.31.2/fs/ext2/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/file.c
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/ext2.h        2009-10-07 01:23:12.000000000 +0200
+@@ -131,6 +131,7 @@ extern int ext2_fiemap(struct inode *ino
+ int __ext2_write_begin(struct file *file, struct address_space *mapping,
+               loff_t pos, unsigned len, unsigned flags,
              struct page **pagep, void **fsdata);
++extern int ext2_sync_flags(struct inode *, int, int);
+ /* ioctl.c */
+ extern long ext2_ioctl(struct file *, unsigned int, unsigned long);
+diff -NurpP --minimal linux-2.6.31.2/fs/ext2/file.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/file.c
 --- linux-2.6.31.2/fs/ext2/file.c      2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/file.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/file.c        2009-10-07 01:03:12.000000000 +0200
 @@ -87,4 +87,5 @@ const struct inode_operations ext2_file_
        .setattr        = ext2_setattr,
        .permission     = ext2_permission,
        .fiemap         = ext2_fiemap,
 +      .sync_flags     = ext2_sync_flags,
  };
-diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/inode.c
 --- linux-2.6.31.2/fs/ext2/inode.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/inode.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/inode.c       2009-10-06 19:45:13.000000000 +0200
 @@ -33,6 +33,7 @@
  #include <linux/mpage.h>
  #include <linux/fiemap.h>
@@ -2344,7 +2569,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.1
                return;
  
        blocksize = inode->i_sb->s_blocksize;
-@@ -1176,38 +1177,72 @@ void ext2_set_inode_flags(struct inode *
+@@ -1176,36 +1177,61 @@ void ext2_set_inode_flags(struct inode *
  {
        unsigned int flags = EXT2_I(inode)->i_flags;
  
@@ -2412,19 +2637,8 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.1
 +              ei->i_flags |= EXT2_COW_FL;
  }
  
-+int ext2_sync_flags(struct inode *inode)
-+{
-+      ext2_get_inode_flags(EXT2_I(inode));
-+      inode->i_ctime = CURRENT_TIME;
-+      mark_inode_dirty(inode);
-+      return 0;
-+}
-+
-+
  struct inode *ext2_iget (struct super_block *sb, unsigned long ino)
- {
-       struct ext2_inode_info *ei;
-@@ -1215,6 +1250,8 @@ struct inode *ext2_iget (struct super_bl
+@@ -1215,6 +1241,8 @@ struct inode *ext2_iget (struct super_bl
        struct ext2_inode *raw_inode;
        struct inode *inode;
        long ret = -EIO;
@@ -2433,7 +2647,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.1
        int n;
  
        inode = iget_locked(sb, ino);
-@@ -1233,12 +1270,17 @@ struct inode *ext2_iget (struct super_bl
+@@ -1233,12 +1261,17 @@ struct inode *ext2_iget (struct super_bl
        }
  
        inode->i_mode = le16_to_cpu(raw_inode->i_mode);
@@ -2455,7 +2669,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.1
        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 = (signed)le32_to_cpu(raw_inode->i_atime);
-@@ -1336,8 +1378,8 @@ int ext2_write_inode(struct inode *inode
+@@ -1336,8 +1369,8 @@ int ext2_write_inode(struct inode *inode
        struct ext2_inode_info *ei = EXT2_I(inode);
        struct super_block *sb = inode->i_sb;
        ino_t ino = inode->i_ino;
@@ -2466,7 +2680,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.1
        struct buffer_head * bh;
        struct ext2_inode * raw_inode = ext2_get_inode(sb, ino, &bh);
        int n;
-@@ -1373,6 +1415,9 @@ int ext2_write_inode(struct inode *inode
+@@ -1373,6 +1406,9 @@ int ext2_write_inode(struct inode *inode
                raw_inode->i_uid_high = 0;
                raw_inode->i_gid_high = 0;
        }
@@ -2476,7 +2690,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.1
        raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
        raw_inode->i_size = cpu_to_le32(inode->i_size);
        raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec);
-@@ -1454,7 +1499,8 @@ int ext2_setattr(struct dentry *dentry, 
+@@ -1454,7 +1490,8 @@ int ext2_setattr(struct dentry *dentry, 
        if (error)
                return error;
        if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) ||
@@ -2486,10 +2700,27 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/inode.c linux-2.6.31.2-vs2.3.0.36.1
                error = vfs_dq_transfer(inode, iattr) ? -EDQUOT : 0;
                if (error)
                        return error;
-diff -NurpP --minimal linux-2.6.31.2/fs/ext2/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext2/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/ioctl.c
 --- linux-2.6.31.2/fs/ext2/ioctl.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/ioctl.c       2009-09-10 16:11:43.000000000 +0200
-@@ -51,6 +51,11 @@ long ext2_ioctl(struct file *filp, unsig
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/ioctl.c       2009-10-07 01:01:20.000000000 +0200
+@@ -17,6 +17,16 @@
+ #include <asm/uaccess.h>
++int ext2_sync_flags(struct inode *inode, int flags, int vflags)
++{
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
++      ext2_get_inode_flags(EXT2_I(inode));
++      inode->i_ctime = CURRENT_TIME_SEC;
++      mark_inode_dirty(inode);
++      return 0;
++}
++
+ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+       struct inode *inode = filp->f_dentry->d_inode;
+@@ -51,6 +61,11 @@ long ext2_ioctl(struct file *filp, unsig
  
                flags = ext2_mask_flags(inode->i_mode, flags);
  
@@ -2501,7 +2732,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
                mutex_lock(&inode->i_mutex);
                /* Is it quota file? Do not allow user to mess with it */
                if (IS_NOQUOTA(inode)) {
-@@ -66,7 +71,9 @@ long ext2_ioctl(struct file *filp, unsig
+@@ -66,7 +81,9 @@ long ext2_ioctl(struct file *filp, unsig
                 *
                 * This test looks nicer. Thanks to Pauline Middelink
                 */
@@ -2512,9 +2743,18 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
                        if (!capable(CAP_LINUX_IMMUTABLE)) {
                                mutex_unlock(&inode->i_mutex);
                                ret = -EPERM;
-diff -NurpP --minimal linux-2.6.31.2/fs/ext2/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/namei.c
+@@ -74,7 +91,7 @@ long ext2_ioctl(struct file *filp, unsig
+                       }
+               }
+-              flags = flags & EXT2_FL_USER_MODIFIABLE;
++              flags &= EXT2_FL_USER_MODIFIABLE;
+               flags |= oldflags & ~EXT2_FL_USER_MODIFIABLE;
+               ei->i_flags = flags;
+               mutex_unlock(&inode->i_mutex);
+diff -NurpP --minimal linux-2.6.31.2/fs/ext2/namei.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/namei.c
 --- linux-2.6.31.2/fs/ext2/namei.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/namei.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/namei.c       2009-10-07 01:08:06.000000000 +0200
 @@ -31,6 +31,7 @@
   */
  
@@ -2539,15 +2779,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/namei.c linux-2.6.31.2-vs2.3.0.36.1
  };
  
  const struct inode_operations ext2_special_inode_operations = {
-@@ -412,4 +415,5 @@ const struct inode_operations ext2_speci
- #endif
-       .setattr        = ext2_setattr,
-       .permission     = ext2_permission,
-+      .sync_flags     = ext2_sync_flags,
- };
-diff -NurpP --minimal linux-2.6.31.2/fs/ext2/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext2/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/super.c
 --- linux-2.6.31.2/fs/ext2/super.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/super.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext2/super.c       2009-10-06 22:47:11.000000000 +0200
 @@ -382,7 +382,8 @@ enum {
        Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug,
        Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr,
@@ -2598,7 +2832,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/super.c linux-2.6.31.2-vs2.3.0.36.1
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ?
                 MS_POSIXACL : 0);
-@@ -1175,6 +1195,13 @@ static int ext2_remount (struct super_bl
+@@ -1175,6 +1195,14 @@ static int ext2_remount (struct super_bl
                goto restore_opts;
        }
  
@@ -2606,32 +2840,16 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext2/super.c linux-2.6.31.2-vs2.3.0.36.1
 +              !(sb->s_flags & MS_TAGGED)) {
 +              printk("EXT2-fs: %s: tagging not permitted on remount.\n",
 +                     sb->s_id);
-+              return -EINVAL;
++              err = -EINVAL;
++              goto restore_opts;
 +      }
 +
        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.31.2/fs/ext2/symlink.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/symlink.c
---- linux-2.6.31.2/fs/ext2/symlink.c   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext2/symlink.c     2009-09-10 16:11:43.000000000 +0200
-@@ -38,6 +38,7 @@ const struct inode_operations ext2_symli
-       .listxattr      = ext2_listxattr,
-       .removexattr    = generic_removexattr,
- #endif
-+      .sync_flags     = ext2_sync_flags,
- };
-  
- const struct inode_operations ext2_fast_symlink_inode_operations = {
-@@ -49,4 +50,5 @@ const struct inode_operations ext2_fast_
-       .listxattr      = ext2_listxattr,
-       .removexattr    = generic_removexattr,
- #endif
-+      .sync_flags     = ext2_sync_flags,
- };
-diff -NurpP --minimal linux-2.6.31.2/fs/ext3/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/file.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext3/file.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/file.c
 --- linux-2.6.31.2/fs/ext3/file.c      2009-06-11 17:13:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/file.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/file.c        2009-10-06 23:23:15.000000000 +0200
 @@ -139,5 +139,6 @@ const struct inode_operations ext3_file_
  #endif
        .permission     = ext3_permission,
@@ -2639,9 +2857,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/file.c linux-2.6.31.2-vs2.3.0.36.15
 +      .sync_flags     = ext3_sync_flags,
  };
  
-diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/inode.c
 --- linux-2.6.31.2/fs/ext3/inode.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/inode.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/inode.c       2009-10-06 19:45:13.000000000 +0200
 @@ -38,6 +38,7 @@
  #include <linux/bio.h>
  #include <linux/fiemap.h>
@@ -2659,7 +2877,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
                return 0;
        if (S_ISREG(inode->i_mode))
                return 1;
-@@ -2697,36 +2698,84 @@ void ext3_set_inode_flags(struct inode *
+@@ -2697,36 +2698,60 @@ void ext3_set_inode_flags(struct inode *
  {
        unsigned int flags = EXT3_I(inode)->i_flags;
  
@@ -2724,34 +2942,10 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
 +              ei->i_flags |= EXT3_BARRIER_FL;
 +      if (vflags & V_COW)
 +              ei->i_flags |= EXT3_COW_FL;
-+}
-+
-+int ext3_sync_flags(struct inode *inode)
-+{
-+      struct ext3_iloc iloc;
-+      handle_t *handle;
-+      int err;
-+
-+      handle = ext3_journal_start(inode, 1);
-+      if (IS_ERR(handle))
-+              return PTR_ERR(handle);
-+      if (IS_SYNC(inode))
-+              handle->h_sync = 1;
-+      err = ext3_reserve_inode_write(handle, inode, &iloc);
-+      if (err)
-+              goto flags_err;
-+
-+      ext3_get_inode_flags(EXT3_I(inode));
-+      inode->i_ctime = CURRENT_TIME;
-+
-+      err = ext3_mark_iloc_dirty(handle, inode, &iloc);
-+flags_err:
-+      ext3_journal_stop(handle);
-+      return err;
  }
  
  struct inode *ext3_iget(struct super_block *sb, unsigned long ino)
-@@ -2738,6 +2787,8 @@ struct inode *ext3_iget(struct super_blo
+@@ -2738,6 +2763,8 @@ struct inode *ext3_iget(struct super_blo
        struct inode *inode;
        long ret;
        int block;
@@ -2760,7 +2954,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
  
        inode = iget_locked(sb, ino);
        if (!inode)
-@@ -2754,12 +2805,17 @@ struct inode *ext3_iget(struct super_blo
+@@ -2754,12 +2781,17 @@ struct inode *ext3_iget(struct super_blo
        bh = iloc.bh;
        raw_inode = ext3_raw_inode(&iloc);
        inode->i_mode = le16_to_cpu(raw_inode->i_mode);
@@ -2782,7 +2976,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
        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 = (signed)le32_to_cpu(raw_inode->i_atime);
-@@ -2890,6 +2946,8 @@ static int ext3_do_update_inode(handle_t
+@@ -2890,6 +2922,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;
@@ -2791,7 +2985,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
        int err = 0, rc, block;
  
        /* For fields not not tracking in the in-memory inode,
-@@ -2900,29 +2958,32 @@ static int ext3_do_update_inode(handle_t
+@@ -2900,29 +2934,32 @@ static int ext3_do_update_inode(handle_t
        ext3_get_inode_flags(ei);
        raw_inode->i_mode = cpu_to_le16(inode->i_mode);
        if(!(test_opt(inode->i_sb, NO_UID32))) {
@@ -2830,7 +3024,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
        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);
-@@ -3074,7 +3135,8 @@ int ext3_setattr(struct dentry *dentry, 
+@@ -3074,7 +3111,8 @@ int ext3_setattr(struct dentry *dentry, 
                return error;
  
        if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) ||
@@ -2840,7 +3034,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
                handle_t *handle;
  
                /* (user+group)*(old+new) structure, inode write (sb,
-@@ -3096,6 +3158,8 @@ int ext3_setattr(struct dentry *dentry, 
+@@ -3096,6 +3134,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;
@@ -2849,9 +3043,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/inode.c linux-2.6.31.2-vs2.3.0.36.1
                error = ext3_mark_inode_dirty(handle, inode);
                ext3_journal_stop(handle);
        }
-diff -NurpP --minimal linux-2.6.31.2/fs/ext3/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext3/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/ioctl.c
 --- linux-2.6.31.2/fs/ext3/ioctl.c     2009-06-11 17:13:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/ioctl.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/ioctl.c       2009-10-07 00:08:00.000000000 +0200
 @@ -8,6 +8,7 @@
   */
  
@@ -2860,15 +3054,42 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
  #include <linux/jbd.h>
  #include <linux/capability.h>
  #include <linux/ext3_fs.h>
-@@ -15,6 +16,7 @@
- #include <linux/mount.h>
- #include <linux/time.h>
+@@ -17,6 +18,34 @@
  #include <linux/compat.h>
-+#include <linux/vs_tag.h>
  #include <asm/uaccess.h>
  
++
++int ext3_sync_flags(struct inode *inode, int flags, int vflags)
++{
++      handle_t *handle = NULL;
++      struct ext3_iloc iloc;
++      int err;
++
++      handle = ext3_journal_start(inode, 1);
++      if (IS_ERR(handle))
++              return PTR_ERR(handle);
++
++      if (IS_SYNC(inode))
++              handle->h_sync = 1;
++      err = ext3_reserve_inode_write(handle, inode, &iloc);
++      if (err)
++              goto flags_err;
++
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
++      ext3_get_inode_flags(EXT3_I(inode));
++      inode->i_ctime = CURRENT_TIME_SEC;
++
++      err = ext3_mark_iloc_dirty(handle, inode, &iloc);
++flags_err:
++      ext3_journal_stop(handle);
++      return err;
++}
++
  long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
-@@ -50,6 +52,11 @@ long ext3_ioctl(struct file *filp, unsig
+ {
+       struct inode *inode = filp->f_dentry->d_inode;
+@@ -50,6 +79,11 @@ long ext3_ioctl(struct file *filp, unsig
  
                flags = ext3_mask_flags(inode->i_mode, flags);
  
@@ -2880,7 +3101,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
                mutex_lock(&inode->i_mutex);
  
                /* Is it quota file? Do not allow user to mess with it */
-@@ -68,7 +75,9 @@ long ext3_ioctl(struct file *filp, unsig
+@@ -68,7 +102,9 @@ long ext3_ioctl(struct file *filp, unsig
                 *
                 * This test looks nicer. Thanks to Pauline Middelink
                 */
@@ -2891,9 +3112,18 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
                        if (!capable(CAP_LINUX_IMMUTABLE))
                                goto flags_out;
                }
-diff -NurpP --minimal linux-2.6.31.2/fs/ext3/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/namei.c
+@@ -93,7 +129,7 @@ long ext3_ioctl(struct file *filp, unsig
+               if (err)
+                       goto flags_err;
+-              flags = flags & EXT3_FL_USER_MODIFIABLE;
++              flags &= EXT3_FL_USER_MODIFIABLE;
+               flags |= oldflags & ~EXT3_FL_USER_MODIFIABLE;
+               ei->i_flags = flags;
+diff -NurpP --minimal linux-2.6.31.2/fs/ext3/namei.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/namei.c
 --- linux-2.6.31.2/fs/ext3/namei.c     2009-06-11 17:13:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/namei.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/namei.c       2009-10-06 23:24:04.000000000 +0200
 @@ -36,6 +36,7 @@
  #include <linux/quotaops.h>
  #include <linux/buffer_head.h>
@@ -2918,15 +3148,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/namei.c linux-2.6.31.2-vs2.3.0.36.1
  };
  
  const struct inode_operations ext3_special_inode_operations = {
-@@ -2457,4 +2460,5 @@ const struct inode_operations ext3_speci
-       .removexattr    = generic_removexattr,
- #endif
-       .permission     = ext3_permission,
-+      .sync_flags     = ext3_sync_flags,
- };
-diff -NurpP --minimal linux-2.6.31.2/fs/ext3/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext3/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/super.c
 --- linux-2.6.31.2/fs/ext3/super.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/super.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext3/super.c       2009-10-06 22:46:25.000000000 +0200
 @@ -787,7 +787,7 @@ enum {
        Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
        Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
@@ -2977,7 +3201,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/super.c linux-2.6.31.2-vs2.3.0.36.1
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((sbi->s_mount_opt & EXT3_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
  
-@@ -2514,6 +2534,13 @@ static int ext3_remount (struct super_bl
+@@ -2514,6 +2534,14 @@ static int ext3_remount (struct super_bl
        if (sbi->s_mount_opt & EXT3_MOUNT_ABORT)
                ext3_abort(sb, __func__, "Abort forced by user");
  
@@ -2985,32 +3209,16 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext3/super.c linux-2.6.31.2-vs2.3.0.36.1
 +              !(sb->s_flags & MS_TAGGED)) {
 +              printk("EXT3-fs: %s: tagging not permitted on remount.\n",
 +                      sb->s_id);
-+              return -EINVAL;
++              err = -EINVAL;
++              goto restore_opts;
 +      }
 +
        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.31.2/fs/ext3/symlink.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/symlink.c
---- linux-2.6.31.2/fs/ext3/symlink.c   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext3/symlink.c     2009-09-10 16:11:43.000000000 +0200
-@@ -40,6 +40,7 @@ const struct inode_operations ext3_symli
-       .listxattr      = ext3_listxattr,
-       .removexattr    = generic_removexattr,
- #endif
-+      .sync_flags     = ext3_sync_flags,
- };
- const struct inode_operations ext3_fast_symlink_inode_operations = {
-@@ -51,4 +52,5 @@ const struct inode_operations ext3_fast_
-       .listxattr      = ext3_listxattr,
-       .removexattr    = generic_removexattr,
- #endif
-+      .sync_flags     = ext3_sync_flags,
- };
-diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ext4.h linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/ext4.h
+diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ext4.h linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/ext4.h
 --- linux-2.6.31.2/fs/ext4/ext4.h      2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/ext4.h        2009-09-10 17:05:31.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/ext4.h        2009-10-07 01:23:25.000000000 +0200
 @@ -252,8 +252,12 @@ struct flex_groups {
  #define EXT4_HUGE_FILE_FL               0x00040000 /* Set to each huge file */
  #define EXT4_EXTENTS_FL                       0x00080000 /* Inode uses extents */
@@ -3050,17 +3258,17 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ext4.h linux-2.6.31.2-vs2.3.0.36.15
  #define EXT4_MOUNT_JOURNAL_CHECKSUM   0x800000 /* Journal checksums */
  #define EXT4_MOUNT_JOURNAL_ASYNC_COMMIT       0x1000000 /* Journal Async Commit */
  #define EXT4_MOUNT_I_VERSION            0x2000000 /* i_version support */
-@@ -1354,6 +1361,7 @@ struct buffer_head *ext4_bread(handle_t 
-                                               ext4_lblk_t, int, int *);
int ext4_get_block(struct inode *inode, sector_t iblock,
-                               struct buffer_head *bh_result, int create);
-+extern int ext4_sync_flags(struct inode *inode);
- extern struct inode *ext4_iget(struct super_block *, unsigned long);
- extern int  ext4_write_inode(struct inode *, int);
-diff -NurpP --minimal linux-2.6.31.2/fs/ext4/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/file.c
+@@ -1655,6 +1662,7 @@ extern int ext4_get_blocks(handle_t *han
+                          struct buffer_head *bh, int flags);
extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
+                       __u64 start, __u64 len);
++extern int ext4_sync_flags(struct inode *, int, int);
+ /* move_extent.c */
+ extern int ext4_move_extents(struct file *o_filp, struct file *d_filp,
+                            __u64 start_orig, __u64 start_donor,
+diff -NurpP --minimal linux-2.6.31.2/fs/ext4/file.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/file.c
 --- linux-2.6.31.2/fs/ext4/file.c      2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/file.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/file.c        2009-10-07 01:03:26.000000000 +0200
 @@ -210,5 +210,6 @@ const struct inode_operations ext4_file_
        .permission     = ext4_permission,
        .fallocate      = ext4_fallocate,
@@ -3068,9 +3276,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/file.c linux-2.6.31.2-vs2.3.0.36.15
 +      .sync_flags     = ext4_sync_flags,
  };
  
-diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/inode.c
 --- linux-2.6.31.2/fs/ext4/inode.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/inode.c       2009-09-10 17:09:15.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/inode.c       2009-10-06 19:45:13.000000000 +0200
 @@ -37,6 +37,7 @@
  #include <linux/namei.h>
  #include <linux/uio.h>
@@ -3088,7 +3296,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
                return 0;
        if (S_ISREG(inode->i_mode))
                return 1;
-@@ -4253,36 +4254,84 @@ void ext4_set_inode_flags(struct inode *
+@@ -4253,36 +4254,60 @@ void ext4_set_inode_flags(struct inode *
  {
        unsigned int flags = EXT4_I(inode)->i_flags;
  
@@ -3153,34 +3361,10 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
 +              ei->i_flags |= EXT4_BARRIER_FL;
 +      if (vflags & V_COW)
 +              ei->i_flags |= EXT4_COW_FL;
-+}
-+
-+int ext4_sync_flags(struct inode *inode)
-+{
-+      struct ext4_iloc iloc;
-+      handle_t *handle;
-+      int err;
-+
-+      handle = ext4_journal_start(inode, 1);
-+      if (IS_ERR(handle))
-+              return PTR_ERR(handle);
-+      if (IS_SYNC(inode))
-+              handle->h_sync = 1;
-+      err = ext4_reserve_inode_write(handle, inode, &iloc);
-+      if (err)
-+              goto flags_err;
-+
-+      ext4_get_inode_flags(EXT4_I(inode));
-+      inode->i_ctime = CURRENT_TIME;
-+
-+      err = ext4_mark_iloc_dirty(handle, inode, &iloc);
-+flags_err:
-+      ext4_journal_stop(handle);
-+      return err;
  }
  
  static blkcnt_t ext4_inode_blocks(struct ext4_inode *raw_inode,
-@@ -4317,6 +4366,8 @@ struct inode *ext4_iget(struct super_blo
+@@ -4317,6 +4342,8 @@ struct inode *ext4_iget(struct super_blo
        struct inode *inode;
        long ret;
        int block;
@@ -3189,7 +3373,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
  
        inode = iget_locked(sb, ino);
        if (!inode)
-@@ -4332,12 +4383,16 @@ struct inode *ext4_iget(struct super_blo
+@@ -4332,12 +4359,16 @@ struct inode *ext4_iget(struct super_blo
        bh = iloc.bh;
        raw_inode = ext4_raw_inode(&iloc);
        inode->i_mode = le16_to_cpu(raw_inode->i_mode);
@@ -3210,7 +3394,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
        inode->i_nlink = le16_to_cpu(raw_inode->i_links_count);
  
        ei->i_state = 0;
-@@ -4538,6 +4593,8 @@ static int ext4_do_update_inode(handle_t
+@@ -4538,6 +4569,8 @@ static int ext4_do_update_inode(handle_t
        struct ext4_inode *raw_inode = ext4_raw_inode(iloc);
        struct ext4_inode_info *ei = EXT4_I(inode);
        struct buffer_head *bh = iloc->bh;
@@ -3219,7 +3403,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
        int err = 0, rc, block;
  
        /* For fields not not tracking in the in-memory inode,
-@@ -4548,29 +4605,32 @@ static int ext4_do_update_inode(handle_t
+@@ -4548,29 +4581,32 @@ static int ext4_do_update_inode(handle_t
        ext4_get_inode_flags(ei);
        raw_inode->i_mode = cpu_to_le16(inode->i_mode);
        if (!(test_opt(inode->i_sb, NO_UID32))) {
@@ -3258,7 +3442,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
        raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
  
        EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode);
-@@ -4734,7 +4794,8 @@ int ext4_setattr(struct dentry *dentry, 
+@@ -4734,7 +4770,8 @@ int ext4_setattr(struct dentry *dentry, 
                return error;
  
        if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) ||
@@ -3268,7 +3452,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
                handle_t *handle;
  
                /* (user+group)*(old+new) structure, inode write (sb,
-@@ -4756,6 +4817,8 @@ int ext4_setattr(struct dentry *dentry, 
+@@ -4756,6 +4793,8 @@ int ext4_setattr(struct dentry *dentry, 
                        inode->i_uid = attr->ia_uid;
                if (attr->ia_valid & ATTR_GID)
                        inode->i_gid = attr->ia_gid;
@@ -3277,10 +3461,10 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/inode.c linux-2.6.31.2-vs2.3.0.36.1
                error = ext4_mark_inode_dirty(handle, inode);
                ext4_journal_stop(handle);
        }
-diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/ioctl.c
 --- linux-2.6.31.2/fs/ext4/ioctl.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/ioctl.c       2009-09-10 17:10:01.000000000 +0200
-@@ -14,6 +14,7 @@
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/ioctl.c       2009-10-07 04:03:02.000000000 +0200
+@@ -14,10 +14,39 @@
  #include <linux/compat.h>
  #include <linux/mount.h>
  #include <linux/file.h>
@@ -3288,7 +3472,39 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
  #include <asm/uaccess.h>
  #include "ext4_jbd2.h"
  #include "ext4.h"
-@@ -50,6 +51,11 @@ long ext4_ioctl(struct file *filp, unsig
++
++int ext4_sync_flags(struct inode *inode, int flags, int vflags)
++{
++      handle_t *handle = NULL;
++      struct ext4_iloc iloc;
++      int err;
++
++      handle = ext4_journal_start(inode, 1);
++      if (IS_ERR(handle))
++              return PTR_ERR(handle);
++
++      if (IS_SYNC(inode))
++              ext4_handle_sync(handle);
++      err = ext4_reserve_inode_write(handle, inode, &iloc);
++      if (err)
++              goto flags_err;
++
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
++      ext4_get_inode_flags(EXT4_I(inode));
++      inode->i_ctime = ext4_current_time(inode);
++
++      err = ext4_mark_iloc_dirty(handle, inode, &iloc);
++flags_err:
++      ext4_journal_stop(handle);
++      return err;
++}
++
+ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+       struct inode *inode = filp->f_dentry->d_inode;
+@@ -50,6 +79,11 @@ long ext4_ioctl(struct file *filp, unsig
  
                flags = ext4_mask_flags(inode->i_mode, flags);
  
@@ -3300,7 +3516,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
                err = -EPERM;
                mutex_lock(&inode->i_mutex);
                /* Is it quota file? Do not allow user to mess with it */
-@@ -67,7 +73,9 @@ long ext4_ioctl(struct file *filp, unsig
+@@ -67,7 +101,9 @@ long ext4_ioctl(struct file *filp, unsig
                 *
                 * This test looks nicer. Thanks to Pauline Middelink
                 */
@@ -3311,9 +3527,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/ioctl.c linux-2.6.31.2-vs2.3.0.36.1
                        if (!capable(CAP_LINUX_IMMUTABLE))
                                goto flags_out;
                }
-diff -NurpP --minimal linux-2.6.31.2/fs/ext4/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/namei.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ext4/namei.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/namei.c
 --- linux-2.6.31.2/fs/ext4/namei.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/namei.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/namei.c       2009-10-07 01:08:37.000000000 +0200
 @@ -34,6 +34,7 @@
  #include <linux/quotaops.h>
  #include <linux/buffer_head.h>
@@ -3330,16 +3546,17 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/namei.c linux-2.6.31.2-vs2.3.0.36.1
                }
                if ((bh = bh_use[ra_ptr++]) == NULL)
                        goto next;
-@@ -2549,4 +2551,6 @@ const struct inode_operations ext4_speci
-       .removexattr    = generic_removexattr,
+@@ -2538,6 +2540,7 @@ const struct inode_operations ext4_dir_i
  #endif
        .permission     = ext4_permission,
-+      .sync_flags     = ext4_sync_flags,
+       .fiemap         = ext4_fiemap,
 +      .sync_flags     = ext4_sync_flags,
  };
-diff -NurpP --minimal linux-2.6.31.2/fs/ext4/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/super.c
+ const struct inode_operations ext4_special_inode_operations = {
+diff -NurpP --minimal linux-2.6.31.2/fs/ext4/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/super.c
 --- linux-2.6.31.2/fs/ext4/super.c     2009-09-10 15:26:21.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/super.c       2009-09-10 17:06:37.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ext4/super.c       2009-10-06 22:47:27.000000000 +0200
 @@ -1057,7 +1057,8 @@ enum {
        Opt_usrquota, Opt_grpquota, Opt_i_version,
        Opt_stripe, Opt_delalloc, Opt_nodelalloc,
@@ -3391,7 +3608,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/super.c linux-2.6.31.2-vs2.3.0.36.1
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((sbi->s_mount_opt & EXT4_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
  
-@@ -3441,6 +3462,13 @@ static int ext4_remount(struct super_blo
+@@ -3441,6 +3462,14 @@ static int ext4_remount(struct super_blo
        if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED)
                ext4_abort(sb, __func__, "Abort forced by user");
  
@@ -3399,32 +3616,16 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ext4/super.c linux-2.6.31.2-vs2.3.0.36.1
 +              !(sb->s_flags & MS_TAGGED)) {
 +              printk("EXT4-fs: %s: tagging not permitted on remount.\n",
 +                      sb->s_id);
-+              return -EINVAL;
++              err = -EINVAL;
++              goto restore_opts;
 +      }
 +
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((sbi->s_mount_opt & EXT4_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
  
-diff -NurpP --minimal linux-2.6.31.2/fs/ext4/symlink.c linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/symlink.c
---- linux-2.6.31.2/fs/ext4/symlink.c   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ext4/symlink.c     2009-09-10 16:11:43.000000000 +0200
-@@ -40,6 +40,7 @@ const struct inode_operations ext4_symli
-       .listxattr      = ext4_listxattr,
-       .removexattr    = generic_removexattr,
- #endif
-+      .sync_flags     = ext4_sync_flags,
- };
- const struct inode_operations ext4_fast_symlink_inode_operations = {
-@@ -51,4 +52,5 @@ const struct inode_operations ext4_fast_
-       .listxattr      = ext4_listxattr,
-       .removexattr    = generic_removexattr,
- #endif
-+      .sync_flags     = ext4_sync_flags,
- };
-diff -NurpP --minimal linux-2.6.31.2/fs/fcntl.c linux-2.6.31.2-vs2.3.0.36.15/fs/fcntl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/fcntl.c linux-2.6.31.2-vs2.3.0.36.16/fs/fcntl.c
 --- linux-2.6.31.2/fs/fcntl.c  2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/fcntl.c    2009-09-10 17:00:41.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/fcntl.c    2009-09-10 17:00:41.000000000 +0200
 @@ -19,6 +19,7 @@
  #include <linux/signal.h>
  #include <linux/rcupdate.h>
@@ -3451,9 +3652,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/fcntl.c linux-2.6.31.2-vs2.3.0.36.15/fs/
  
        err = security_file_fcntl(filp, cmd, arg);
        if (err) {
-diff -NurpP --minimal linux-2.6.31.2/fs/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/file.c
+diff -NurpP --minimal linux-2.6.31.2/fs/file.c linux-2.6.31.2-vs2.3.0.36.16/fs/file.c
 --- linux-2.6.31.2/fs/file.c   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/file.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/file.c     2009-09-10 16:11:43.000000000 +0200
 @@ -19,6 +19,7 @@
  #include <linux/spinlock.h>
  #include <linux/rcupdate.h>
@@ -3479,9 +3680,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/f
  #if 1
        /* Sanity check */
        if (rcu_dereference(fdt->fd[fd]) != NULL) {
-diff -NurpP --minimal linux-2.6.31.2/fs/file_table.c linux-2.6.31.2-vs2.3.0.36.15/fs/file_table.c
+diff -NurpP --minimal linux-2.6.31.2/fs/file_table.c linux-2.6.31.2-vs2.3.0.36.16/fs/file_table.c
 --- linux-2.6.31.2/fs/file_table.c     2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/file_table.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/file_table.c       2009-09-10 16:11:43.000000000 +0200
 @@ -22,6 +22,8 @@
  #include <linux/fsnotify.h>
  #include <linux/sysctl.h>
@@ -3518,9 +3719,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/file_table.c linux-2.6.31.2-vs2.3.0.36.1
                file_kill(file);
                file_free(file);
        }
-diff -NurpP --minimal linux-2.6.31.2/fs/fs_struct.c linux-2.6.31.2-vs2.3.0.36.15/fs/fs_struct.c
+diff -NurpP --minimal linux-2.6.31.2/fs/fs_struct.c linux-2.6.31.2-vs2.3.0.36.16/fs/fs_struct.c
 --- linux-2.6.31.2/fs/fs_struct.c      2009-06-11 17:13:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/fs_struct.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/fs_struct.c        2009-09-10 16:11:43.000000000 +0200
 @@ -4,6 +4,7 @@
  #include <linux/path.h>
  #include <linux/slab.h>
@@ -3545,9 +3746,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/fs_struct.c linux-2.6.31.2-vs2.3.0.36.15
        }
        return fs;
  }
-diff -NurpP --minimal linux-2.6.31.2/fs/hfsplus/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/hfsplus/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/hfsplus/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/hfsplus/ioctl.c
 --- linux-2.6.31.2/fs/hfsplus/ioctl.c  2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/hfsplus/ioctl.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/hfsplus/ioctl.c    2009-09-10 16:11:43.000000000 +0200
 @@ -17,6 +17,7 @@
  #include <linux/mount.h>
  #include <linux/sched.h>
@@ -3556,9 +3757,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/hfsplus/ioctl.c linux-2.6.31.2-vs2.3.0.3
  #include <asm/uaccess.h>
  #include "hfsplus_fs.h"
  
-diff -NurpP --minimal linux-2.6.31.2/fs/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/inode.c
 --- linux-2.6.31.2/fs/inode.c  2009-10-05 23:29:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/inode.c    2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/inode.c    2009-10-05 23:35:52.000000000 +0200
 @@ -128,6 +128,9 @@ int inode_init_always(struct super_block
        struct address_space *const mapping = &inode->i_data;
  
@@ -3598,9 +3799,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/
        } else if (S_ISFIFO(mode))
                inode->i_fop = &def_fifo_fops;
        else if (S_ISSOCK(mode))
-diff -NurpP --minimal linux-2.6.31.2/fs/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/ioctl.c
 --- linux-2.6.31.2/fs/ioctl.c  2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ioctl.c    2009-09-10 17:13:08.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ioctl.c    2009-09-10 17:13:08.000000000 +0200
 @@ -16,6 +16,9 @@
  #include <linux/writeback.h>
  #include <linux/buffer_head.h>
@@ -3611,9 +3812,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/
  
  #include <asm/ioctls.h>
  
-diff -NurpP --minimal linux-2.6.31.2/fs/ioprio.c linux-2.6.31.2-vs2.3.0.36.15/fs/ioprio.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ioprio.c linux-2.6.31.2-vs2.3.0.36.16/fs/ioprio.c
 --- linux-2.6.31.2/fs/ioprio.c 2009-03-24 14:22:26.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ioprio.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ioprio.c   2009-09-10 16:11:43.000000000 +0200
 @@ -26,6 +26,7 @@
  #include <linux/syscalls.h>
  #include <linux/security.h>
@@ -3640,9 +3841,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ioprio.c linux-2.6.31.2-vs2.3.0.36.15/fs
                                tmpio = get_task_ioprio(p);
                                if (tmpio < 0)
                                        continue;
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/acl.c linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/acl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/acl.c linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/acl.c
 --- linux-2.6.31.2/fs/jfs/acl.c        2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/acl.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/acl.c  2009-09-10 16:11:43.000000000 +0200
 @@ -221,7 +221,8 @@ int jfs_setattr(struct dentry *dentry, s
                return rc;
  
@@ -3653,9 +3854,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/acl.c linux-2.6.31.2-vs2.3.0.36.15/f
                if (vfs_dq_transfer(inode, iattr))
                        return -EDQUOT;
        }
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/file.c
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/file.c linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/file.c
 --- linux-2.6.31.2/fs/jfs/file.c       2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/file.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/file.c 2009-10-07 01:05:32.000000000 +0200
 @@ -98,6 +98,7 @@ const struct inode_operations jfs_file_i
        .setattr        = jfs_setattr,
        .permission     = jfs_permission,
@@ -3664,9 +3865,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/file.c linux-2.6.31.2-vs2.3.0.36.15/
  };
  
  const struct file_operations jfs_file_operations = {
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/ioctl.c
 --- linux-2.6.31.2/fs/jfs/ioctl.c      2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/ioctl.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/ioctl.c        2009-10-07 04:09:15.000000000 +0200
 @@ -11,6 +11,7 @@
  #include <linux/mount.h>
  #include <linux/time.h>
@@ -3675,7 +3876,24 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.15
  #include <asm/current.h>
  #include <asm/uaccess.h>
  
-@@ -85,6 +86,11 @@ long jfs_ioctl(struct file *filp, unsign
+@@ -52,6 +53,16 @@ static long jfs_map_ext2(unsigned long f
+ }
++int jfs_sync_flags(struct inode *inode, int flags, int vflags)
++{
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
++      jfs_get_inode_flags(JFS_IP(inode));
++      inode->i_ctime = CURRENT_TIME_SEC;
++      mark_inode_dirty(inode);
++      return 0;
++}
++
+ long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+       struct inode *inode = filp->f_dentry->d_inode;
+@@ -85,6 +96,11 @@ long jfs_ioctl(struct file *filp, unsign
                if (!S_ISDIR(inode->i_mode))
                        flags &= ~JFS_DIRSYNC_FL;
  
@@ -3687,7 +3905,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.15
                /* Is it quota file? Do not allow user to mess with it */
                if (IS_NOQUOTA(inode)) {
                        err = -EPERM;
-@@ -102,8 +108,8 @@ long jfs_ioctl(struct file *filp, unsign
+@@ -102,8 +118,8 @@ long jfs_ioctl(struct file *filp, unsign
                 * the relevant capability.
                 */
                if ((oldflags & JFS_IMMUTABLE_FL) ||
@@ -3698,9 +3916,18 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.15
                        if (!capable(CAP_LINUX_IMMUTABLE)) {
                                mutex_unlock(&inode->i_mutex);
                                err = -EPERM;
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_dinode.h linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_dinode.h
+@@ -111,7 +127,7 @@ long jfs_ioctl(struct file *filp, unsign
+                       }
+               }
+-              flags = flags & JFS_FL_USER_MODIFIABLE;
++              flags &= JFS_FL_USER_MODIFIABLE;
+               flags |= oldflags & ~JFS_FL_USER_MODIFIABLE;
+               jfs_inode->mode2 = flags;
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_dinode.h linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_dinode.h
 --- linux-2.6.31.2/fs/jfs/jfs_dinode.h 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_dinode.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_dinode.h   2009-09-10 16:11:43.000000000 +0200
 @@ -161,9 +161,13 @@ struct dinode {
  
  #define JFS_APPEND_FL         0x01000000 /* writes to file may only append */
@@ -3717,9 +3944,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_dinode.h linux-2.6.31.2-vs2.3.0.
  #define JFS_FL_INHERIT                0x03C80000
  
  /* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_filsys.h linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_filsys.h
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_filsys.h linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_filsys.h
 --- linux-2.6.31.2/fs/jfs/jfs_filsys.h 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_filsys.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_filsys.h   2009-09-10 16:11:43.000000000 +0200
 @@ -263,6 +263,7 @@
  #define JFS_NAME_MAX  255
  #define JFS_PATH_MAX  BPSIZE
@@ -3728,9 +3955,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_filsys.h linux-2.6.31.2-vs2.3.0.
  
  /*
   *    file system state (superblock state)
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_imap.c linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_imap.c
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_imap.c linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_imap.c
 --- linux-2.6.31.2/fs/jfs/jfs_imap.c   2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_imap.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_imap.c     2009-09-10 16:11:43.000000000 +0200
 @@ -45,6 +45,7 @@
  #include <linux/buffer_head.h>
  #include <linux/pagemap.h>
@@ -3790,9 +4017,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_imap.c linux-2.6.31.2-vs2.3.0.36
        jfs_get_inode_flags(jfs_ip);
        /*
         * mode2 is only needed for storing the higher order bits.
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_inode.c
 --- linux-2.6.31.2/fs/jfs/jfs_inode.c  2009-06-11 17:13:05.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_inode.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_inode.c    2009-10-06 19:45:13.000000000 +0200
 @@ -30,29 +30,46 @@ void jfs_set_inode_flags(struct inode *i
  {
        unsigned int flags = JFS_IP(inode)->mode2;
@@ -3846,7 +4073,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_inode.c linux-2.6.31.2-vs2.3.0.3
        if (flags & S_APPEND)
                jfs_ip->mode2 |= JFS_APPEND_FL;
        if (flags & S_NOATIME)
-@@ -61,6 +78,19 @@ void jfs_get_inode_flags(struct jfs_inod
+@@ -61,6 +78,11 @@ void jfs_get_inode_flags(struct jfs_inod
                jfs_ip->mode2 |= JFS_DIRSYNC_FL;
        if (flags & S_SYNC)
                jfs_ip->mode2 |= JFS_SYNC_FL;
@@ -3855,31 +4082,23 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_inode.c linux-2.6.31.2-vs2.3.0.3
 +              jfs_ip->mode2 |= JFS_BARRIER_FL;
 +      if (vflags & V_COW)
 +              jfs_ip->mode2 |= JFS_COW_FL;
-+}
-+
-+int jfs_sync_flags(struct inode *inode)
-+{
-+      jfs_get_inode_flags(JFS_IP(inode));
-+      inode->i_ctime = CURRENT_TIME;
-+      mark_inode_dirty(inode);
-+      return 0;
  }
  
  /*
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_inode.h linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_inode.h
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/jfs_inode.h linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_inode.h
 --- linux-2.6.31.2/fs/jfs/jfs_inode.h  2009-06-11 17:13:05.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/jfs_inode.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/jfs_inode.h    2009-10-07 01:25:26.000000000 +0200
 @@ -39,6 +39,7 @@ extern struct dentry *jfs_fh_to_dentry(s
  extern struct dentry *jfs_fh_to_parent(struct super_block *sb, struct fid *fid,
        int fh_len, int fh_type);
  extern void jfs_set_inode_flags(struct inode *);
-+extern int jfs_sync_flags(struct inode *);
++extern int jfs_sync_flags(struct inode *, int, int);
  extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int);
  
  extern const struct address_space_operations jfs_aops;
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/namei.c
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/namei.c linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/namei.c
 --- linux-2.6.31.2/fs/jfs/namei.c      2009-06-11 17:13:05.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/namei.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/namei.c        2009-10-07 01:09:16.000000000 +0200
 @@ -21,6 +21,7 @@
  #include <linux/ctype.h>
  #include <linux/quotaops.h>
@@ -3904,9 +4123,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/namei.c linux-2.6.31.2-vs2.3.0.36.15
  };
  
  const struct file_operations jfs_dir_operations = {
-diff -NurpP --minimal linux-2.6.31.2/fs/jfs/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/jfs/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/super.c
 --- linux-2.6.31.2/fs/jfs/super.c      2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/jfs/super.c        2009-09-10 17:10:55.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/jfs/super.c        2009-09-10 17:10:55.000000000 +0200
 @@ -194,7 +194,8 @@ static void jfs_put_super(struct super_b
  enum {
        Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,
@@ -3972,9 +4191,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/jfs/super.c linux-2.6.31.2-vs2.3.0.36.15
  
        if (newLVSize) {
                printk(KERN_ERR "resize option for remount only\n");
-diff -NurpP --minimal linux-2.6.31.2/fs/libfs.c linux-2.6.31.2-vs2.3.0.36.15/fs/libfs.c
+diff -NurpP --minimal linux-2.6.31.2/fs/libfs.c linux-2.6.31.2-vs2.3.0.36.16/fs/libfs.c
 --- linux-2.6.31.2/fs/libfs.c  2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/libfs.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/libfs.c    2009-09-10 16:11:43.000000000 +0200
 @@ -127,7 +127,8 @@ static inline unsigned char dt_type(stru
   * both impossible due to the lock on directory.
   */
@@ -4021,9 +4240,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/libfs.c linux-2.6.31.2-vs2.3.0.36.15/fs/
  EXPORT_SYMBOL(generic_read_dir);
  EXPORT_SYMBOL(get_sb_pseudo);
  EXPORT_SYMBOL(simple_write_begin);
-diff -NurpP --minimal linux-2.6.31.2/fs/locks.c linux-2.6.31.2-vs2.3.0.36.15/fs/locks.c
+diff -NurpP --minimal linux-2.6.31.2/fs/locks.c linux-2.6.31.2-vs2.3.0.36.16/fs/locks.c
 --- linux-2.6.31.2/fs/locks.c  2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/locks.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/locks.c    2009-09-10 16:11:43.000000000 +0200
 @@ -127,6 +127,8 @@
  #include <linux/time.h>
  #include <linux/rcupdate.h>
@@ -4209,9 +4428,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/locks.c linux-2.6.31.2-vs2.3.0.36.15/fs/
  
        f->private++;
        return 0;
-diff -NurpP --minimal linux-2.6.31.2/fs/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/namei.c
+diff -NurpP --minimal linux-2.6.31.2/fs/namei.c linux-2.6.31.2-vs2.3.0.36.16/fs/namei.c
 --- linux-2.6.31.2/fs/namei.c  2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/namei.c    2009-09-29 16:58:06.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/namei.c    2009-09-29 16:58:06.000000000 +0200
 @@ -33,6 +33,14 @@
  #include <linux/fcntl.h>
  #include <linux/device_cgroup.h>
@@ -4682,9 +4901,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/
  /* get the link contents into pagecache */
  static char *page_getlink(struct dentry * dentry, struct page **ppage)
  {
-diff -NurpP --minimal linux-2.6.31.2/fs/namespace.c linux-2.6.31.2-vs2.3.0.36.15/fs/namespace.c
+diff -NurpP --minimal linux-2.6.31.2/fs/namespace.c linux-2.6.31.2-vs2.3.0.36.16/fs/namespace.c
 --- linux-2.6.31.2/fs/namespace.c      2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/namespace.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/namespace.c        2009-09-10 16:11:43.000000000 +0200
 @@ -29,6 +29,11 @@
  #include <linux/log2.h>
  #include <linux/idr.h>
@@ -4975,9 +5194,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/namespace.c linux-2.6.31.2-vs2.3.0.36.15
        kfree(ns);
  }
  EXPORT_SYMBOL(put_mnt_ns);
-diff -NurpP --minimal linux-2.6.31.2/fs/nfs/client.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/client.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfs/client.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/client.c
 --- linux-2.6.31.2/fs/nfs/client.c     2009-09-10 15:26:22.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/client.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/client.c       2009-09-10 16:11:43.000000000 +0200
 @@ -732,6 +732,9 @@ static int nfs_init_server_rpcclient(str
        if (server->flags & NFS_MOUNT_SOFT)
                server->client->cl_softrtry = 1;
@@ -4999,9 +5218,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfs/client.c linux-2.6.31.2-vs2.3.0.36.1
        server->maxfilesize = fsinfo->maxfilesize;
  
        /* We're airborne Set socket buffersize */
-diff -NurpP --minimal linux-2.6.31.2/fs/nfs/dir.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/dir.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfs/dir.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/dir.c
 --- linux-2.6.31.2/fs/nfs/dir.c        2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/dir.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/dir.c  2009-09-10 16:11:43.000000000 +0200
 @@ -33,6 +33,7 @@
  #include <linux/namei.h>
  #include <linux/mount.h>
@@ -5018,9 +5237,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfs/dir.c linux-2.6.31.2-vs2.3.0.36.15/f
  no_entry:
        res = d_materialise_unique(dentry, inode);
        if (res != NULL) {
-diff -NurpP --minimal linux-2.6.31.2/fs/nfs/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfs/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/inode.c
 --- linux-2.6.31.2/fs/nfs/inode.c      2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/inode.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/inode.c        2009-09-10 16:11:43.000000000 +0200
 @@ -36,6 +36,7 @@
  #include <linux/vfs.h>
  #include <linux/inet.h>
@@ -5160,9 +5379,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfs/inode.c linux-2.6.31.2-vs2.3.0.36.15
        if (fattr->valid & NFS_ATTR_FATTR_NLINK) {
                if (inode->i_nlink != fattr->nlink) {
                        invalid |= NFS_INO_INVALID_ATTR;
-diff -NurpP --minimal linux-2.6.31.2/fs/nfs/nfs3xdr.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/nfs3xdr.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfs/nfs3xdr.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/nfs3xdr.c
 --- linux-2.6.31.2/fs/nfs/nfs3xdr.c    2009-06-11 17:13:06.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/nfs3xdr.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/nfs3xdr.c      2009-09-10 16:11:43.000000000 +0200
 @@ -22,6 +22,7 @@
  #include <linux/nfs3.h>
  #include <linux/nfs_fs.h>
@@ -5252,9 +5471,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfs/nfs3xdr.c linux-2.6.31.2-vs2.3.0.36.
        if (args->type == NF3CHR || args->type == NF3BLK) {
                *p++ = htonl(MAJOR(args->rdev));
                *p++ = htonl(MINOR(args->rdev));
-diff -NurpP --minimal linux-2.6.31.2/fs/nfs/nfsroot.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/nfsroot.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfs/nfsroot.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/nfsroot.c
 --- linux-2.6.31.2/fs/nfs/nfsroot.c    2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/nfsroot.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/nfsroot.c      2009-09-10 16:11:43.000000000 +0200
 @@ -122,12 +122,12 @@ static int mount_port __initdata = 0;            /
  enum {
        /* Options that take integer arguments */
@@ -5301,9 +5520,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfs/nfsroot.c linux-2.6.31.2-vs2.3.0.36.
                        default:
                                printk(KERN_WARNING "Root-NFS: unknown "
                                        "option: %s\n", p);
-diff -NurpP --minimal linux-2.6.31.2/fs/nfs/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfs/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/super.c
 --- linux-2.6.31.2/fs/nfs/super.c      2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfs/super.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfs/super.c        2009-09-10 16:11:43.000000000 +0200
 @@ -53,6 +53,7 @@
  #include <linux/nfs_xdr.h>
  #include <linux/magic.h>
@@ -5320,9 +5539,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfs/super.c linux-2.6.31.2-vs2.3.0.36.15
                { 0, NULL, NULL }
        };
        const struct proc_nfs_info *nfs_infop;
-diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/auth.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/auth.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/auth.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/auth.c
 --- linux-2.6.31.2/fs/nfsd/auth.c      2009-03-24 14:22:26.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/auth.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/auth.c        2009-09-10 16:11:43.000000000 +0200
 @@ -10,6 +10,7 @@
  #include <linux/sunrpc/svcauth.h>
  #include <linux/nfsd/nfsd.h>
@@ -5341,9 +5560,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/auth.c linux-2.6.31.2-vs2.3.0.36.15
  
        rqgi = rqstp->rq_cred.cr_group_info;
  
-diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfs3xdr.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/nfs3xdr.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfs3xdr.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/nfs3xdr.c
 --- linux-2.6.31.2/fs/nfsd/nfs3xdr.c   2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/nfs3xdr.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/nfs3xdr.c     2009-09-10 16:11:43.000000000 +0200
 @@ -21,6 +21,7 @@
  #include <linux/sunrpc/svc.h>
  #include <linux/nfsd/nfsd.h>
@@ -5394,9 +5613,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfs3xdr.c linux-2.6.31.2-vs2.3.0.36
        if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) {
                p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN);
        } else {
-diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfs4xdr.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/nfs4xdr.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfs4xdr.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/nfs4xdr.c
 --- linux-2.6.31.2/fs/nfsd/nfs4xdr.c   2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/nfs4xdr.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/nfs4xdr.c     2009-09-10 16:11:43.000000000 +0200
 @@ -57,6 +57,7 @@
  #include <linux/nfs4_acl.h>
  #include <linux/sunrpc/gss_api.h>
@@ -5426,9 +5645,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfs4xdr.c linux-2.6.31.2-vs2.3.0.36
                if (status == nfserr_resource)
                        goto out_resource;
                if (status)
-diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfsxdr.c linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/nfsxdr.c
+diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfsxdr.c linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/nfsxdr.c
 --- linux-2.6.31.2/fs/nfsd/nfsxdr.c    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/nfsd/nfsxdr.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/nfsd/nfsxdr.c      2009-09-10 16:11:43.000000000 +0200
 @@ -15,6 +15,7 @@
  #include <linux/nfsd/nfsd.h>
  #include <linux/nfsd/xdr.h>
@@ -5477,9 +5696,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/nfsd/nfsxdr.c linux-2.6.31.2-vs2.3.0.36.
  
        if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) {
                *p++ = htonl(NFS_MAXPATHLEN);
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlm/dlmfs.c linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/dlm/dlmfs.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlm/dlmfs.c linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/dlm/dlmfs.c
 --- linux-2.6.31.2/fs/ocfs2/dlm/dlmfs.c        2009-03-24 14:22:27.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/dlm/dlmfs.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/dlm/dlmfs.c  2009-09-10 16:11:43.000000000 +0200
 @@ -43,6 +43,7 @@
  #include <linux/init.h>
  #include <linux/string.h>
@@ -5504,9 +5723,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlm/dlmfs.c linux-2.6.31.2-vs2.3.0
        inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
        inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
  
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlmglue.c linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/dlmglue.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlmglue.c linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/dlmglue.c
 --- linux-2.6.31.2/fs/ocfs2/dlmglue.c  2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/dlmglue.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/dlmglue.c    2009-09-10 16:11:43.000000000 +0200
 @@ -1960,6 +1960,7 @@ static void __ocfs2_stuff_meta_lvb(struc
        lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters);
        lvb->lvb_iuid      = cpu_to_be32(inode->i_uid);
@@ -5523,9 +5742,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlmglue.c linux-2.6.31.2-vs2.3.0.3
        inode->i_mode    = be16_to_cpu(lvb->lvb_imode);
        inode->i_nlink   = be16_to_cpu(lvb->lvb_inlink);
        ocfs2_unpack_timespec(&inode->i_atime,
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlmglue.h linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/dlmglue.h
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlmglue.h linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/dlmglue.h
 --- linux-2.6.31.2/fs/ocfs2/dlmglue.h  2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/dlmglue.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/dlmglue.h    2009-09-10 16:11:43.000000000 +0200
 @@ -46,7 +46,8 @@ struct ocfs2_meta_lvb {
        __be16       lvb_inlink;
        __be32       lvb_iattr;
@@ -5536,9 +5755,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/dlmglue.h linux-2.6.31.2-vs2.3.0.3
  };
  
  #define OCFS2_QINFO_LVB_VERSION 1
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/file.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/file.c linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/file.c
 --- linux-2.6.31.2/fs/ocfs2/file.c     2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/file.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/file.c       2009-10-06 19:45:13.000000000 +0200
 @@ -914,13 +914,15 @@ int ocfs2_setattr(struct dentry *dentry,
                mlog(0, "uid change: %d\n", attr->ia_uid);
        if (attr->ia_valid & ATTR_GID)
@@ -5556,17 +5775,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/file.c linux-2.6.31.2-vs2.3.0.36.1
        if (!(attr->ia_valid & OCFS2_VALID_ATTRS)) {
                mlog(0, "can't handle attrs: 0x%x\n", attr->ia_valid);
                return 0;
-@@ -2141,6 +2143,7 @@ const struct inode_operations ocfs2_file
-       .removexattr    = generic_removexattr,
-       .fallocate      = ocfs2_fallocate,
-       .fiemap         = ocfs2_fiemap,
-+      .sync_flags     = ocfs2_sync_flags,
- };
- const struct inode_operations ocfs2_special_file_iops = {
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/inode.c
 --- linux-2.6.31.2/fs/ocfs2/inode.c    2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/inode.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/inode.c      2009-10-06 19:45:13.000000000 +0200
 @@ -29,6 +29,7 @@
  #include <linux/highmem.h>
  #include <linux/pagemap.h>
@@ -5575,15 +5786,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.c linux-2.6.31.2-vs2.3.0.36.
  
  #include <asm/byteorder.h>
  
-@@ -45,6 +46,7 @@
- #include "file.h"
- #include "heartbeat.h"
- #include "inode.h"
-+#include "ioctl.h"
- #include "journal.h"
- #include "namei.h"
- #include "suballoc.h"
-@@ -78,11 +80,13 @@ void ocfs2_set_inode_flags(struct inode 
+@@ -78,11 +79,13 @@ void ocfs2_set_inode_flags(struct inode 
  {
        unsigned int flags = OCFS2_I(inode)->ip_attr;
  
@@ -5598,7 +5801,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.c linux-2.6.31.2-vs2.3.0.36.
  
        if (flags & OCFS2_SYNC_FL)
                inode->i_flags |= S_SYNC;
-@@ -92,25 +96,85 @@ void ocfs2_set_inode_flags(struct inode 
+@@ -92,25 +95,44 @@ void ocfs2_set_inode_flags(struct inode 
                inode->i_flags |= S_NOATIME;
        if (flags & OCFS2_DIRSYNC_FL)
                inode->i_flags |= S_DIRSYNC;
@@ -5644,51 +5847,10 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.c linux-2.6.31.2-vs2.3.0.36.
 +              oi->ip_attr |= OCFS2_BARRIER_FL;
 +      if (vflags & V_COW)
 +              oi->ip_attr |= OCFS2_COW_FL;
-+}
-+
-+int ocfs2_sync_flags(struct inode *inode)
-+{
-+      struct ocfs2_inode_info *ocfs2_inode = OCFS2_I(inode);
-+      struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
-+      handle_t *handle = NULL;
-+      struct buffer_head *bh = NULL;
-+      int status;
-+
-+      status = ocfs2_inode_lock(inode, &bh, 1);
-+      if (status < 0) {
-+              mlog_errno(status);
-+              goto bail;
-+      }
-+
-+      status = -EROFS;
-+      if (IS_RDONLY(inode))
-+              goto bail_unlock;
-+
-+      handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
-+      if (IS_ERR(handle)) {
-+              status = PTR_ERR(handle);
-+              mlog_errno(status);
-+              goto bail_unlock;
-+      }
-+
-+      ocfs2_get_inode_flags(ocfs2_inode);
-+      status = ocfs2_mark_inode_dirty(handle, inode, bh);
-+      if (status < 0)
-+              mlog_errno(status);
-+
-+      ocfs2_commit_trans(osb, handle);
-+bail_unlock:
-+      ocfs2_inode_unlock(inode, 1);
-+bail:
-+      if (bh)
-+              brelse(bh);
-+
-+      mlog_exit(status);
-+      return status;
  }
  
  struct inode *ocfs2_ilookup(struct super_block *sb, u64 blkno)
-@@ -245,6 +309,8 @@ void ocfs2_populate_inode(struct inode *
+@@ -245,6 +267,8 @@ void ocfs2_populate_inode(struct inode *
        struct super_block *sb;
        struct ocfs2_super *osb;
        int use_plocks = 1;
@@ -5697,7 +5859,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.c linux-2.6.31.2-vs2.3.0.36.
  
        mlog_entry("(0x%p, size:%llu)\n", inode,
                   (unsigned long long)le64_to_cpu(fe->i_size));
-@@ -276,8 +342,12 @@ void ocfs2_populate_inode(struct inode *
+@@ -276,8 +300,12 @@ void ocfs2_populate_inode(struct inode *
        inode->i_generation = le32_to_cpu(fe->i_generation);
        inode->i_rdev = huge_decode_dev(le64_to_cpu(fe->id1.dev1.i_rdev));
        inode->i_mode = le16_to_cpu(fe->i_mode);
@@ -5712,30 +5874,64 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.c linux-2.6.31.2-vs2.3.0.36.
  
        /* Fast symlinks will have i_size but no allocated clusters. */
        if (S_ISLNK(inode->i_mode) && !fe->i_clusters)
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.h linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/inode.h
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/inode.h linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/inode.h
 --- linux-2.6.31.2/fs/ocfs2/inode.h    2009-06-11 17:13:07.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/inode.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/inode.h      2009-10-07 01:26:15.000000000 +0200
 @@ -152,6 +152,7 @@ struct buffer_head *ocfs2_bread(struct i
  
  void ocfs2_set_inode_flags(struct inode *inode);
  void ocfs2_get_inode_flags(struct ocfs2_inode_info *oi);
-+int ocfs2_sync_flags(struct inode *inode);
++int ocfs2_sync_flags(struct inode *inode, int, int);
  
  static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode)
  {
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/ioctl.c
 --- linux-2.6.31.2/fs/ocfs2/ioctl.c    2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ioctl.c      2009-09-10 16:11:43.000000000 +0200
-@@ -41,7 +41,7 @@ static int ocfs2_get_inode_attr(struct i
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/ioctl.c      2009-10-07 04:20:18.000000000 +0200
+@@ -41,7 +41,41 @@ static int ocfs2_get_inode_attr(struct i
        return status;
  }
  
 -static int ocfs2_set_inode_attr(struct inode *inode, unsigned flags,
++int ocfs2_sync_flags(struct inode *inode, int flags, int vflags)
++{
++      struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
++      struct buffer_head *bh = NULL;
++      handle_t *handle = NULL;
++      int status;
++
++      status = ocfs2_inode_lock(inode, &bh, 1);
++      if (status < 0) {
++              mlog_errno(status);
++              return status;
++      }
++      handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
++      if (IS_ERR(handle)) {
++              status = PTR_ERR(handle);
++              mlog_errno(status);
++              goto bail_unlock;
++      }
++
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
++      ocfs2_get_inode_flags(OCFS2_I(inode));
++
++      status = ocfs2_mark_inode_dirty(handle, inode, bh);
++      if (status < 0)
++              mlog_errno(status);
++
++      ocfs2_commit_trans(osb, handle);
++bail_unlock:
++      ocfs2_inode_unlock(inode, 1);
++      brelse(bh);
++      return status;
++}
++
 +int ocfs2_set_inode_attr(struct inode *inode, unsigned flags,
                                unsigned mask)
  {
        struct ocfs2_inode_info *ocfs2_inode = OCFS2_I(inode);
-@@ -66,6 +66,11 @@ static int ocfs2_set_inode_attr(struct i
+@@ -66,6 +100,11 @@ static int ocfs2_set_inode_attr(struct i
        if (!S_ISDIR(inode->i_mode))
                flags &= ~OCFS2_DIRSYNC_FL;
  
@@ -5747,22 +5943,17 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ioctl.c linux-2.6.31.2-vs2.3.0.36.
        handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
        if (IS_ERR(handle)) {
                status = PTR_ERR(handle);
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ioctl.h linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ioctl.h
---- linux-2.6.31.2/fs/ocfs2/ioctl.h    2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ioctl.h      2009-09-10 16:11:43.000000000 +0200
-@@ -10,6 +10,9 @@
- #ifndef OCFS2_IOCTL_H
- #define OCFS2_IOCTL_H
+@@ -107,6 +146,7 @@ bail:
+       return status;
+ }
  
-+int ocfs2_set_inode_attr(struct inode *inode, unsigned flags,
-+                              unsigned mask);
 +
- long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
- long ocfs2_compat_ioctl(struct file *file, unsigned cmd, unsigned long arg);
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/namei.c
+ long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+       struct inode *inode = filp->f_path.dentry->d_inode;
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/namei.c linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/namei.c
 --- linux-2.6.31.2/fs/ocfs2/namei.c    2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/namei.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/namei.c      2009-10-06 19:45:13.000000000 +0200
 @@ -41,6 +41,7 @@
  #include <linux/slab.h>
  #include <linux/highmem.h>
@@ -5793,17 +5984,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/namei.c linux-2.6.31.2-vs2.3.0.36.
        fe->i_mode = cpu_to_le16(inode->i_mode);
        if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
                fe->id1.dev1.i_rdev = cpu_to_le64(huge_encode_dev(dev));
-@@ -2040,6 +2045,7 @@ const struct inode_operations ocfs2_dir_
-       .rename         = ocfs2_rename,
-       .setattr        = ocfs2_setattr,
-       .getattr        = ocfs2_getattr,
-+      .sync_flags     = ocfs2_sync_flags,
-       .permission     = ocfs2_permission,
-       .setxattr       = generic_setxattr,
-       .getxattr       = generic_getxattr,
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ocfs2_fs.h linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ocfs2_fs.h
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ocfs2_fs.h linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/ocfs2_fs.h
 --- linux-2.6.31.2/fs/ocfs2/ocfs2_fs.h 2009-06-11 17:13:07.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ocfs2_fs.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/ocfs2_fs.h   2009-09-10 16:11:43.000000000 +0200
 @@ -225,18 +225,23 @@
  #define OCFS2_INDEXED_DIR_FL  (0x0008)
  
@@ -5839,9 +6022,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ocfs2_fs.h linux-2.6.31.2-vs2.3.0.
  
  /*
   * Extent record flags (e_node.leaf.flags)
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ocfs2.h linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ocfs2.h
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ocfs2.h linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/ocfs2.h
 --- linux-2.6.31.2/fs/ocfs2/ocfs2.h    2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/ocfs2.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/ocfs2.h      2009-09-10 16:11:43.000000000 +0200
 @@ -222,6 +222,7 @@ enum ocfs2_mount_options
        OCFS2_MOUNT_POSIX_ACL = 1 << 8, /* POSIX access control lists */
        OCFS2_MOUNT_USRQUOTA = 1 << 9, /* We support user quotas */
@@ -5850,9 +6033,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/ocfs2.h linux-2.6.31.2-vs2.3.0.36.
  };
  
  #define OCFS2_OSB_SOFT_RO                     0x0001
-diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/super.c
 --- linux-2.6.31.2/fs/ocfs2/super.c    2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/ocfs2/super.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/ocfs2/super.c      2009-10-06 22:50:39.000000000 +0200
 @@ -173,6 +173,7 @@ enum {
        Opt_noacl,
        Opt_usrquota,
@@ -5875,8 +6058,8 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/super.c linux-2.6.31.2-vs2.3.0.36.
                goto out;
        }
  
-+      if ((parsed_options.mount_opt & OCFS2_MOUNT_TAGGED) &&
-+              !(sb->s_flags & MS_TAGGED)) {
++      if ((osb->s_mount_opt & OCFS2_MOUNT_TAGGED) !=
++          (parsed_options.mount_opt & OCFS2_MOUNT_TAGGED)) {
 +              ret = -EINVAL;
 +              mlog(ML_ERROR, "Cannot change tagging on remount\n");
 +              goto out;
@@ -5916,9 +6099,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/ocfs2/super.c linux-2.6.31.2-vs2.3.0.36.
                default:
                        mlog(ML_ERROR,
                             "Unrecognized mount option \"%s\" "
-diff -NurpP --minimal linux-2.6.31.2/fs/open.c linux-2.6.31.2-vs2.3.0.36.15/fs/open.c
+diff -NurpP --minimal linux-2.6.31.2/fs/open.c linux-2.6.31.2-vs2.3.0.36.16/fs/open.c
 --- linux-2.6.31.2/fs/open.c   2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/open.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/open.c     2009-09-10 16:11:43.000000000 +0200
 @@ -30,22 +30,31 @@
  #include <linux/audit.h>
  #include <linux/falloc.h>
@@ -6025,9 +6208,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/open.c linux-2.6.31.2-vs2.3.0.36.15/fs/o
  }
  
  void put_unused_fd(unsigned int fd)
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/array.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/array.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/array.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/array.c
 --- linux-2.6.31.2/fs/proc/array.c     2009-06-11 17:13:07.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/array.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/array.c       2009-09-10 16:11:43.000000000 +0200
 @@ -82,6 +82,8 @@
  #include <linux/pid_namespace.h>
  #include <linux/ptrace.h>
@@ -6153,9 +6336,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/array.c linux-2.6.31.2-vs2.3.0.36.1
        seq_printf(m, "%d (%s) %c %d %d %d %d %d %u %lu \
  %lu %lu %lu %lu %lu %ld %ld %ld %ld %d 0 %llu %lu %ld %lu %lu %lu %lu %lu \
  %lu %lu %lu %lu %lu %lu %lu %lu %d %d %u %u %llu %lu %ld\n",
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/base.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/base.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/base.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/base.c
 --- linux-2.6.31.2/fs/proc/base.c      2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/base.c        2009-10-03 01:56:26.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/base.c        2009-10-03 01:56:26.000000000 +0200
 @@ -81,6 +81,8 @@
  #include <linux/elf.h>
  #include <linux/pid_namespace.h>
@@ -6294,9 +6477,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/base.c linux-2.6.31.2-vs2.3.0.36.15
  
        ns = dentry->d_sb->s_fs_info;
        rcu_read_lock();
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/generic.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/generic.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/generic.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/generic.c
 --- linux-2.6.31.2/fs/proc/generic.c   2009-06-11 17:13:07.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/generic.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/generic.c     2009-09-10 16:11:43.000000000 +0200
 @@ -20,6 +20,7 @@
  #include <linux/bitops.h>
  #include <linux/spinlock.h>
@@ -6358,9 +6541,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/generic.c linux-2.6.31.2-vs2.3.0.36
                } else {
                        kfree(ent);
                        ent = NULL;
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/inode.c
 --- linux-2.6.31.2/fs/proc/inode.c     2009-06-11 17:13:07.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/inode.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/inode.c       2009-09-10 16:11:43.000000000 +0200
 @@ -459,6 +459,8 @@ struct inode *proc_get_inode(struct supe
                        inode->i_uid = de->uid;
                        inode->i_gid = de->gid;
@@ -6370,9 +6553,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/inode.c linux-2.6.31.2-vs2.3.0.36.1
                if (de->size)
                        inode->i_size = de->size;
                if (de->nlink)
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/internal.h linux-2.6.31.2-vs2.3.0.36.15/fs/proc/internal.h
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/internal.h linux-2.6.31.2-vs2.3.0.36.16/fs/proc/internal.h
 --- linux-2.6.31.2/fs/proc/internal.h  2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/internal.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/internal.h    2009-09-10 16:11:43.000000000 +0200
 @@ -10,6 +10,7 @@
   */
  
@@ -6409,9 +6592,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/internal.h linux-2.6.31.2-vs2.3.0.3
  static inline int proc_fd(struct inode *inode)
  {
        return PROC_I(inode)->fd;
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/loadavg.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/loadavg.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/loadavg.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/loadavg.c
 --- linux-2.6.31.2/fs/proc/loadavg.c   2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/loadavg.c     2009-09-10 16:58:00.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/loadavg.c     2009-09-10 16:58:00.000000000 +0200
 @@ -12,15 +12,27 @@
  
  static int loadavg_proc_show(struct seq_file *m, void *v)
@@ -6441,9 +6624,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/loadavg.c linux-2.6.31.2-vs2.3.0.36
                task_active_pid_ns(current)->last_pid);
        return 0;
  }
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/meminfo.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/meminfo.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/meminfo.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/meminfo.c
 --- linux-2.6.31.2/fs/proc/meminfo.c   2009-09-10 15:26:23.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/meminfo.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/meminfo.c     2009-09-10 16:11:43.000000000 +0200
 @@ -41,7 +41,7 @@ static int meminfo_proc_show(struct seq_
  
        cached = global_page_state(NR_FILE_PAGES) -
@@ -6453,9 +6636,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/meminfo.c linux-2.6.31.2-vs2.3.0.36
                cached = 0;
  
        get_vmalloc_info(&vmi);
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/root.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/root.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/root.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/root.c
 --- linux-2.6.31.2/fs/proc/root.c      2009-06-11 17:13:07.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/root.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/root.c        2009-09-10 16:11:43.000000000 +0200
 @@ -18,9 +18,14 @@
  #include <linux/bitops.h>
  #include <linux/mount.h>
@@ -6487,9 +6670,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/root.c linux-2.6.31.2-vs2.3.0.36.15
  };
  
  int pid_ns_prepare_proc(struct pid_namespace *ns)
-diff -NurpP --minimal linux-2.6.31.2/fs/proc/uptime.c linux-2.6.31.2-vs2.3.0.36.15/fs/proc/uptime.c
+diff -NurpP --minimal linux-2.6.31.2/fs/proc/uptime.c linux-2.6.31.2-vs2.3.0.36.16/fs/proc/uptime.c
 --- linux-2.6.31.2/fs/proc/uptime.c    2009-10-05 23:29:03.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/proc/uptime.c      2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/proc/uptime.c      2009-10-05 23:35:52.000000000 +0200
 @@ -4,22 +4,22 @@
  #include <linux/sched.h>
  #include <linux/seq_file.h>
@@ -6519,9 +6702,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/proc/uptime.c linux-2.6.31.2-vs2.3.0.36.
        seq_printf(m, "%lu.%02lu %lu.%02lu\n",
                        (unsigned long) uptime.tv_sec,
                        (uptime.tv_nsec / (NSEC_PER_SEC / 100)),
-diff -NurpP --minimal linux-2.6.31.2/fs/quota/quota.c linux-2.6.31.2-vs2.3.0.36.15/fs/quota/quota.c
+diff -NurpP --minimal linux-2.6.31.2/fs/quota/quota.c linux-2.6.31.2-vs2.3.0.36.16/fs/quota/quota.c
 --- linux-2.6.31.2/fs/quota/quota.c    2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/quota/quota.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/quota/quota.c      2009-09-10 16:11:43.000000000 +0200
 @@ -18,6 +18,7 @@
  #include <linux/capability.h>
  #include <linux/quotaops.h>
@@ -6627,18 +6810,18 @@ diff -NurpP --minimal linux-2.6.31.2/fs/quota/quota.c linux-2.6.31.2-vs2.3.0.36.
        sb = get_super(bdev);
        bdput(bdev);
        if (!sb)
-diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/file.c linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/file.c
+diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/file.c linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/file.c
 --- linux-2.6.31.2/fs/reiserfs/file.c  2009-06-11 17:13:08.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/file.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/file.c    2009-10-07 01:04:14.000000000 +0200
 @@ -307,4 +307,5 @@ const struct inode_operations reiserfs_f
        .listxattr = reiserfs_listxattr,
        .removexattr = reiserfs_removexattr,
        .permission = reiserfs_permission,
 +      .sync_flags = reiserfs_sync_flags,
  };
-diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/inode.c
 --- linux-2.6.31.2/fs/reiserfs/inode.c 2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/inode.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/inode.c   2009-10-06 19:45:13.000000000 +0200
 @@ -18,6 +18,7 @@
  #include <linux/writeback.h>
  #include <linux/quotaops.h>
@@ -6784,30 +6967,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/inode.c linux-2.6.31.2-vs2.3.0.
        }
  }
  
-@@ -3037,6 +3076,22 @@ static ssize_t reiserfs_direct_IO(int rw
-                                 reiserfs_get_blocks_direct_io, NULL);
- }
-+int reiserfs_sync_flags(struct inode *inode)
-+{
-+      u16 oldflags, newflags;
-+
-+      oldflags = REISERFS_I(inode)->i_attrs;
-+      newflags = oldflags;
-+      i_attrs_to_sd_attrs(inode, &newflags);
-+
-+      if (oldflags ^ newflags) {
-+              REISERFS_I(inode)->i_attrs = newflags;
-+              inode->i_ctime = CURRENT_TIME_SEC;
-+              mark_inode_dirty(inode);
-+      }
-+      return 0;
-+}
-+
- int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)
- {
-       struct inode *inode = dentry->d_inode;
-@@ -3090,9 +3145,11 @@ int reiserfs_setattr(struct dentry *dent
+@@ -3090,9 +3129,11 @@ int reiserfs_setattr(struct dentry *dent
        }
  
        error = inode_change_ok(inode, attr);
@@ -6820,7 +6980,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/inode.c linux-2.6.31.2-vs2.3.0.
                        error = reiserfs_chown_xattrs(inode, attr);
  
                        if (!error) {
-@@ -3122,6 +3179,9 @@ int reiserfs_setattr(struct dentry *dent
+@@ -3122,6 +3163,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;
@@ -6830,10 +6990,10 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/inode.c linux-2.6.31.2-vs2.3.0.
                                mark_inode_dirty(inode);
                                error =
                                    journal_end(&th, inode->i_sb, jbegin_count);
-diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/ioctl.c
 --- linux-2.6.31.2/fs/reiserfs/ioctl.c 2009-06-11 17:13:08.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/ioctl.c   2009-09-10 16:11:43.000000000 +0200
-@@ -7,6 +7,7 @@
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/ioctl.c   2009-10-07 04:58:43.000000000 +0200
+@@ -7,11 +7,28 @@
  #include <linux/mount.h>
  #include <linux/reiserfs_fs.h>
  #include <linux/time.h>
@@ -6841,24 +7001,47 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/ioctl.c linux-2.6.31.2-vs2.3.0.
  #include <asm/uaccess.h>
  #include <linux/pagemap.h>
  #include <linux/smp_lock.h>
-@@ -23,7 +24,7 @@
+ #include <linux/compat.h>
++
++int reiserfs_sync_flags(struct inode *inode, int flags, int vflags)
++{
++      __u16 sd_attrs = 0;
++
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
++
++      i_attrs_to_sd_attrs(inode, &sd_attrs);
++      REISERFS_I(inode)->i_attrs = sd_attrs;
++      printk("reiserfs_sync_flags(%p,%x,%x) -> %x\n", inode, flags, vflags, sd_attrs);
++      inode->i_ctime = CURRENT_TIME_SEC;
++      mark_inode_dirty(inode);
++      return 0;
++}
++
+ /*
+ ** reiserfs_ioctl - handler for ioctl for inode
+ ** supported commands:
+@@ -23,7 +40,8 @@
  int reiserfs_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
                   unsigned long arg)
  {
 -      unsigned int flags;
 +      unsigned int flags, oldflags;
++      __u16 sd_attrs;
        int err = 0;
  
        switch (cmd) {
-@@ -43,6 +44,7 @@ int reiserfs_ioctl(struct inode *inode, 
+@@ -43,6 +61,8 @@ int reiserfs_ioctl(struct inode *inode, 
  
                flags = REISERFS_I(inode)->i_attrs;
                i_attrs_to_sd_attrs(inode, (__u16 *) & flags);
++              printk("GETFLAGS(%p,%x,%x) -> %x\n", inode, inode->i_flags, inode->i_vflags, flags);
 +              flags &= REISERFS_FL_USER_VISIBLE;
                return put_user(flags, (int __user *)arg);
        case REISERFS_IOC_SETFLAGS:{
                        if (!reiserfs_attrs(inode->i_sb))
-@@ -60,6 +62,10 @@ int reiserfs_ioctl(struct inode *inode, 
+@@ -60,6 +80,10 @@ int reiserfs_ioctl(struct inode *inode, 
                                err = -EFAULT;
                                goto setflags_out;
                        }
@@ -6869,20 +7052,20 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/ioctl.c linux-2.6.31.2-vs2.3.0.
                        /*
                         * Is it quota file? Do not allow user to mess with it
                         */
-@@ -84,6 +90,10 @@ int reiserfs_ioctl(struct inode *inode, 
+@@ -84,6 +108,10 @@ int reiserfs_ioctl(struct inode *inode, 
                                        goto setflags_out;
                                }
                        }
 +
 +                      oldflags = REISERFS_I(inode)->i_attrs;
-+                      flags = flags & REISERFS_FL_USER_MODIFIABLE;
++                      flags &= REISERFS_FL_USER_MODIFIABLE;
 +                      flags |= oldflags & ~REISERFS_FL_USER_MODIFIABLE;
                        sd_attrs_to_i_attrs(flags, inode);
                        REISERFS_I(inode)->i_attrs = flags;
                        inode->i_ctime = CURRENT_TIME_SEC;
-diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/namei.c linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/namei.c
+diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/namei.c linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/namei.c
 --- linux-2.6.31.2/fs/reiserfs/namei.c 2009-06-11 17:13:08.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/namei.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/namei.c   2009-10-07 01:09:49.000000000 +0200
 @@ -17,6 +17,7 @@
  #include <linux/reiserfs_acl.h>
  #include <linux/reiserfs_xattr.h>
@@ -6915,24 +7098,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/namei.c linux-2.6.31.2-vs2.3.0.
  };
  
  /*
-@@ -1531,6 +1535,7 @@ const struct inode_operations reiserfs_s
-       .listxattr = reiserfs_listxattr,
-       .removexattr = reiserfs_removexattr,
-       .permission = reiserfs_permission,
-+      .sync_flags = reiserfs_sync_flags,
- };
-@@ -1544,5 +1549,6 @@ const struct inode_operations reiserfs_s
-       .listxattr = reiserfs_listxattr,
-       .removexattr = reiserfs_removexattr,
-       .permission = reiserfs_permission,
-+      .sync_flags = reiserfs_sync_flags,
- };
-diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/super.c
 --- linux-2.6.31.2/fs/reiserfs/super.c 2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/super.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/super.c   2009-10-07 03:27:01.000000000 +0200
 @@ -884,6 +884,14 @@ static int reiserfs_parse_options(struct
                {"user_xattr",.setmask = 1 << REISERFS_UNSUPPORTED_OPT},
                {"nouser_xattr",.clrmask = 1 << REISERFS_UNSUPPORTED_OPT},
@@ -6948,7 +7116,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/super.c linux-2.6.31.2-vs2.3.0.
  #ifdef CONFIG_REISERFS_FS_POSIX_ACL
                {"acl",.setmask = 1 << REISERFS_POSIXACL},
                {"noacl",.clrmask = 1 << REISERFS_POSIXACL},
-@@ -1190,6 +1198,13 @@ static int reiserfs_remount(struct super
+@@ -1190,6 +1198,14 @@ static int reiserfs_remount(struct super
        handle_quota_files(s, qf_names, &qfmt);
  #endif
  
@@ -6956,13 +7124,14 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/super.c linux-2.6.31.2-vs2.3.0.
 +              !(s->s_flags & MS_TAGGED)) {
 +              reiserfs_warning(s, "super-vs01",
 +                      "reiserfs: tagging not permitted on remount.");
-+              return -EINVAL;
++              err = -EINVAL;
++              goto out_err;
 +      }
 +
        handle_attrs(s);
  
        /* Add options that are safe here */
-@@ -1652,6 +1667,10 @@ static int reiserfs_fill_super(struct su
+@@ -1652,6 +1668,10 @@ static int reiserfs_fill_super(struct su
                goto error;
        }
  
@@ -6973,9 +7142,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/super.c linux-2.6.31.2-vs2.3.0.
        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.31.2/fs/reiserfs/xattr.c linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/xattr.c
+diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/xattr.c linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/xattr.c
 --- linux-2.6.31.2/fs/reiserfs/xattr.c 2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/reiserfs/xattr.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/reiserfs/xattr.c   2009-09-10 16:11:43.000000000 +0200
 @@ -39,6 +39,7 @@
  #include <linux/namei.h>
  #include <linux/errno.h>
@@ -6984,9 +7153,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/reiserfs/xattr.c linux-2.6.31.2-vs2.3.0.
  #include <linux/file.h>
  #include <linux/pagemap.h>
  #include <linux/xattr.h>
-diff -NurpP --minimal linux-2.6.31.2/fs/stat.c linux-2.6.31.2-vs2.3.0.36.15/fs/stat.c
+diff -NurpP --minimal linux-2.6.31.2/fs/stat.c linux-2.6.31.2-vs2.3.0.36.16/fs/stat.c
 --- linux-2.6.31.2/fs/stat.c   2009-06-11 17:13:08.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/stat.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/stat.c     2009-09-10 16:11:43.000000000 +0200
 @@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod
        stat->nlink = inode->i_nlink;
        stat->uid = inode->i_uid;
@@ -6995,9 +7164,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/stat.c linux-2.6.31.2-vs2.3.0.36.15/fs/s
        stat->rdev = inode->i_rdev;
        stat->atime = inode->i_atime;
        stat->mtime = inode->i_mtime;
-diff -NurpP --minimal linux-2.6.31.2/fs/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/super.c linux-2.6.31.2-vs2.3.0.36.16/fs/super.c
 --- linux-2.6.31.2/fs/super.c  2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/super.c    2009-09-10 17:00:57.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/super.c    2009-09-10 17:00:57.000000000 +0200
 @@ -37,6 +37,9 @@
  #include <linux/kobject.h>
  #include <linux/mutex.h>
@@ -7047,9 +7216,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/super.c linux-2.6.31.2-vs2.3.0.36.15/fs/
        if (error)
                goto out_sb;
  
-diff -NurpP --minimal linux-2.6.31.2/fs/sysfs/mount.c linux-2.6.31.2-vs2.3.0.36.15/fs/sysfs/mount.c
+diff -NurpP --minimal linux-2.6.31.2/fs/sysfs/mount.c linux-2.6.31.2-vs2.3.0.36.16/fs/sysfs/mount.c
 --- linux-2.6.31.2/fs/sysfs/mount.c    2009-06-11 17:13:08.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/sysfs/mount.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/sysfs/mount.c      2009-09-10 16:11:43.000000000 +0200
 @@ -47,7 +47,7 @@ static int sysfs_fill_super(struct super
  
        sb->s_blocksize = PAGE_CACHE_SIZE;
@@ -7059,9 +7228,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/sysfs/mount.c linux-2.6.31.2-vs2.3.0.36.
        sb->s_op = &sysfs_ops;
        sb->s_time_gran = 1;
        sysfs_sb = sb;
-diff -NurpP --minimal linux-2.6.31.2/fs/utimes.c linux-2.6.31.2-vs2.3.0.36.15/fs/utimes.c
+diff -NurpP --minimal linux-2.6.31.2/fs/utimes.c linux-2.6.31.2-vs2.3.0.36.16/fs/utimes.c
 --- linux-2.6.31.2/fs/utimes.c 2009-03-24 14:22:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/utimes.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/utimes.c   2009-09-10 16:11:43.000000000 +0200
 @@ -8,6 +8,8 @@
  #include <linux/stat.h>
  #include <linux/utime.h>
@@ -7071,9 +7240,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/utimes.c linux-2.6.31.2-vs2.3.0.36.15/fs
  #include <asm/uaccess.h>
  #include <asm/unistd.h>
  
-diff -NurpP --minimal linux-2.6.31.2/fs/xattr.c linux-2.6.31.2-vs2.3.0.36.15/fs/xattr.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xattr.c linux-2.6.31.2-vs2.3.0.36.16/fs/xattr.c
 --- linux-2.6.31.2/fs/xattr.c  2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xattr.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xattr.c    2009-09-10 16:11:43.000000000 +0200
 @@ -18,6 +18,7 @@
  #include <linux/module.h>
  #include <linux/fsnotify.h>
@@ -7082,10 +7251,18 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xattr.c linux-2.6.31.2-vs2.3.0.36.15/fs/
  #include <asm/uaccess.h>
  
  
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_ioctl.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_ioctl.c
 --- linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c        2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_ioctl.c  2009-09-10 16:11:43.000000000 +0200
-@@ -742,6 +742,10 @@ xfs_merge_ioc_xflags(
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_ioctl.c  2009-10-07 15:57:55.000000000 +0200
+@@ -34,7 +34,6 @@
+ #include "xfs_dir2_sf.h"
+ #include "xfs_dinode.h"
+ #include "xfs_inode.h"
+-#include "xfs_ioctl.h"
+ #include "xfs_btree.h"
+ #include "xfs_ialloc.h"
+ #include "xfs_rtalloc.h"
+@@ -742,6 +741,10 @@ xfs_merge_ioc_xflags(
                xflags |= XFS_XFLAG_IMMUTABLE;
        else
                xflags &= ~XFS_XFLAG_IMMUTABLE;
@@ -7096,7 +7273,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.31.2
        if (flags & FS_APPEND_FL)
                xflags |= XFS_XFLAG_APPEND;
        else
-@@ -770,6 +774,8 @@ xfs_di2lxflags(
+@@ -770,6 +773,8 @@ xfs_di2lxflags(
  
        if (di_flags & XFS_DIFLAG_IMMUTABLE)
                flags |= FS_IMMUTABLE_FL;
@@ -7105,7 +7282,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.31.2
        if (di_flags & XFS_DIFLAG_APPEND)
                flags |= FS_APPEND_FL;
        if (di_flags & XFS_DIFLAG_SYNC)
-@@ -828,6 +834,8 @@ xfs_set_diflags(
+@@ -828,6 +833,8 @@ xfs_set_diflags(
        di_flags = (ip->i_d.di_flags & XFS_DIFLAG_PREALLOC);
        if (xflags & XFS_XFLAG_IMMUTABLE)
                di_flags |= XFS_DIFLAG_IMMUTABLE;
@@ -7114,7 +7291,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.31.2
        if (xflags & XFS_XFLAG_APPEND)
                di_flags |= XFS_DIFLAG_APPEND;
        if (xflags & XFS_XFLAG_SYNC)
-@@ -870,6 +878,10 @@ xfs_diflags_to_linux(
+@@ -870,6 +877,10 @@ xfs_diflags_to_linux(
                inode->i_flags |= S_IMMUTABLE;
        else
                inode->i_flags &= ~S_IMMUTABLE;
@@ -7125,7 +7302,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.31.2
        if (xflags & XFS_XFLAG_APPEND)
                inode->i_flags |= S_APPEND;
        else
-@@ -1346,10 +1358,18 @@ xfs_file_ioctl(
+@@ -1346,10 +1357,18 @@ xfs_file_ioctl(
        case XFS_IOC_FSGETXATTRA:
                return xfs_ioc_fsgetxattr(ip, 1, arg);
        case XFS_IOC_FSSETXATTR:
@@ -7144,10 +7321,34 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.31.2
                return xfs_ioc_setxflags(ip, filp, arg);
  
        case XFS_IOC_FSSETDM: {
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_iops.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.h linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_ioctl.h
+--- linux-2.6.31.2/fs/xfs/linux-2.6/xfs_ioctl.h        2009-03-24 14:22:37.000000000 +0100
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_ioctl.h  2009-10-07 15:59:45.000000000 +0200
+@@ -70,6 +70,12 @@ xfs_handle_to_dentry(
+       void __user             *uhandle,
+       u32                     hlen);
++extern int
++xfs_sync_flags(
++      struct inode            *inode,
++      int                     flags,
++      int                     vflags);
++
+ extern long
+ xfs_file_ioctl(
+       struct file             *filp,
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_iops.c
 --- linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c 2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_iops.c   2009-09-10 16:11:43.000000000 +0200
-@@ -56,6 +56,7 @@
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_iops.c   2009-10-07 05:23:00.000000000 +0200
+@@ -36,6 +36,7 @@
+ #include "xfs_attr_sf.h"
+ #include "xfs_dinode.h"
+ #include "xfs_inode.h"
++#include "xfs_ioctl.h"
+ #include "xfs_bmap.h"
+ #include "xfs_btree.h"
+ #include "xfs_ialloc.h"
+@@ -56,6 +57,7 @@
  #include <linux/security.h>
  #include <linux/falloc.h>
  #include <linux/fiemap.h>
@@ -7155,7 +7356,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.2-
  
  /*
   * Bring the atime in the XFS inode uptodate.
-@@ -513,6 +514,7 @@ xfs_vn_getattr(
+@@ -513,6 +515,7 @@ xfs_vn_getattr(
        stat->nlink = ip->i_d.di_nlink;
        stat->uid = ip->i_d.di_uid;
        stat->gid = ip->i_d.di_gid;
@@ -7163,36 +7364,23 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.2-
        stat->ino = ip->i_ino;
        stat->atime = inode->i_atime;
        stat->mtime.tv_sec = ip->i_d.di_mtime.t_sec;
-@@ -549,6 +551,12 @@ xfs_vn_getattr(
- }
- STATIC int
-+xfs_vn_sync_xflags(struct inode *inode)
-+{
-+      return -xfs_sync_xflags(XFS_I(inode));
-+}
-+
-+STATIC int
- xfs_vn_setattr(
-       struct dentry   *dentry,
-       struct iattr    *iattr)
-@@ -706,6 +714,7 @@ static const struct inode_operations xfs
+@@ -706,6 +709,7 @@ static const struct inode_operations xfs
        .listxattr              = xfs_vn_listxattr,
        .fallocate              = xfs_vn_fallocate,
        .fiemap                 = xfs_vn_fiemap,
-+      .sync_flags             = xfs_vn_sync_xflags,
++      .sync_flags             = xfs_sync_flags,
  };
  
  static const struct inode_operations xfs_dir_inode_operations = {
-@@ -731,6 +740,7 @@ static const struct inode_operations xfs
+@@ -731,6 +735,7 @@ static const struct inode_operations xfs
        .getxattr               = generic_getxattr,
        .removexattr            = generic_removexattr,
        .listxattr              = xfs_vn_listxattr,
-+      .sync_flags             = xfs_vn_sync_xflags,
++      .sync_flags             = xfs_sync_flags,
  };
  
  static const struct inode_operations xfs_dir_ci_inode_operations = {
-@@ -780,6 +790,10 @@ xfs_diflags_to_iflags(
+@@ -780,6 +785,10 @@ xfs_diflags_to_iflags(
                inode->i_flags |= S_IMMUTABLE;
        else
                inode->i_flags &= ~S_IMMUTABLE;
@@ -7203,7 +7391,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.2-
        if (ip->i_d.di_flags & XFS_DIFLAG_APPEND)
                inode->i_flags |= S_APPEND;
        else
-@@ -792,6 +806,15 @@ xfs_diflags_to_iflags(
+@@ -792,6 +801,15 @@ xfs_diflags_to_iflags(
                inode->i_flags |= S_NOATIME;
        else
                inode->i_flags &= ~S_NOATIME;
@@ -7219,7 +7407,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.2-
  }
  
  /*
-@@ -820,6 +843,7 @@ xfs_setup_inode(
+@@ -820,6 +838,7 @@ xfs_setup_inode(
        inode->i_nlink  = ip->i_d.di_nlink;
        inode->i_uid    = ip->i_d.di_uid;
        inode->i_gid    = ip->i_d.di_gid;
@@ -7227,9 +7415,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.2-
  
        switch (inode->i_mode & S_IFMT) {
        case S_IFBLK:
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_linux.h linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_linux.h
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_linux.h linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_linux.h
 --- linux-2.6.31.2/fs/xfs/linux-2.6/xfs_linux.h        2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_linux.h  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_linux.h  2009-09-10 16:11:43.000000000 +0200
 @@ -119,6 +119,7 @@
  
  #define current_cpu()         (raw_smp_processor_id())
@@ -7238,9 +7426,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_linux.h linux-2.6.31.2
  #define current_test_flags(f) (current->flags & (f))
  #define current_set_flags_nested(sp, f)               \
                (*(sp) = current->flags, current->flags |= (f))
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_super.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_super.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_super.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_super.c
 --- linux-2.6.31.2/fs/xfs/linux-2.6/xfs_super.c        2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/linux-2.6/xfs_super.c  2009-09-10 17:01:53.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/linux-2.6/xfs_super.c  2009-09-10 17:01:53.000000000 +0200
 @@ -117,6 +117,9 @@ mempool_t *xfs_ioend_pool;
  #define MNTOPT_DMAPI  "dmapi"         /* DMI enabled (DMAPI / XDSM) */
  #define MNTOPT_XDSM   "xdsm"          /* DMI enabled (DMAPI / XDSM) */
@@ -7313,9 +7501,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/linux-2.6/xfs_super.c linux-2.6.31.2
        sb->s_magic = XFS_SB_MAGIC;
        sb->s_blocksize = mp->m_sb.sb_blocksize;
        sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1;
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_dinode.h linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_dinode.h
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_dinode.h linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_dinode.h
 --- linux-2.6.31.2/fs/xfs/xfs_dinode.h 2009-06-11 17:13:09.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_dinode.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_dinode.h   2009-09-10 16:11:43.000000000 +0200
 @@ -50,7 +50,9 @@ typedef struct xfs_dinode {
        __be32          di_gid;         /* owner's group id */
        __be32          di_nlink;       /* number of links to file */
@@ -7356,9 +7544,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_dinode.h linux-2.6.31.2-vs2.3.0.
 +#define XFS_DIVFLAG_COW               0x02
  
  #endif        /* __XFS_DINODE_H__ */
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_fs.h linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_fs.h
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_fs.h linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_fs.h
 --- linux-2.6.31.2/fs/xfs/xfs_fs.h     2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_fs.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_fs.h       2009-09-10 16:11:43.000000000 +0200
 @@ -67,6 +67,9 @@ struct fsxattr {
  #define XFS_XFLAG_EXTSZINHERIT        0x00001000      /* inherit inode extent size */
  #define XFS_XFLAG_NODEFRAG    0x00002000      /* do not defragment */
@@ -7379,9 +7567,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_fs.h linux-2.6.31.2-vs2.3.0.36.1
        __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.31.2/fs/xfs/xfs_ialloc.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_ialloc.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_ialloc.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_ialloc.c
 --- linux-2.6.31.2/fs/xfs/xfs_ialloc.c 2009-06-11 17:13:09.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_ialloc.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_ialloc.c   2009-09-10 16:11:43.000000000 +0200
 @@ -41,7 +41,6 @@
  #include "xfs_error.h"
  #include "xfs_bmap.h"
@@ -7390,9 +7578,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_ialloc.c linux-2.6.31.2-vs2.3.0.
  /*
   * Allocation group level functions.
   */
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_inode.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_inode.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_inode.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_inode.c
 --- linux-2.6.31.2/fs/xfs/xfs_inode.c  2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_inode.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_inode.c    2009-09-10 16:11:43.000000000 +0200
 @@ -249,6 +249,7 @@ xfs_inotobp(
        return 0;
  }
@@ -7567,9 +7755,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_inode.c linux-2.6.31.2-vs2.3.0.3
  
        /* Wrap, we never let the log put out DI_MAX_FLUSH */
        if (ip->i_d.di_flushiter == DI_MAX_FLUSH)
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_inode.h linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_inode.h
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_inode.h linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_inode.h
 --- linux-2.6.31.2/fs/xfs/xfs_inode.h  2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_inode.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_inode.h    2009-09-10 16:11:43.000000000 +0200
 @@ -135,7 +135,9 @@ typedef struct xfs_icdinode {
        __uint32_t      di_gid;         /* owner's group id */
        __uint32_t      di_nlink;       /* number of links to file */
@@ -7593,9 +7781,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_inode.h linux-2.6.31.2-vs2.3.0.3
  void          xfs_idestroy_fork(struct xfs_inode *, int);
  void          xfs_idata_realloc(struct xfs_inode *, int, int);
  void          xfs_iroot_realloc(struct xfs_inode *, int, int);
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_itable.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_itable.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_itable.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_itable.c
 --- linux-2.6.31.2/fs/xfs/xfs_itable.c 2009-06-11 17:13:09.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_itable.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_itable.c   2009-09-10 16:11:43.000000000 +0200
 @@ -82,6 +82,7 @@ xfs_bulkstat_one_iget(
        buf->bs_mode = dic->di_mode;
        buf->bs_uid = dic->di_uid;
@@ -7604,9 +7792,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_itable.c linux-2.6.31.2-vs2.3.0.
        buf->bs_size = dic->di_size;
        /*
         * We are reading the atime from the Linux inode because the
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_log_recover.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_log_recover.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_log_recover.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_log_recover.c
 --- linux-2.6.31.2/fs/xfs/xfs_log_recover.c    2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_log_recover.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_log_recover.c      2009-09-10 16:11:43.000000000 +0200
 @@ -2467,7 +2467,8 @@ xlog_recover_do_inode_trans(
        }
  
@@ -7617,9 +7805,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_log_recover.c linux-2.6.31.2-vs2
  
        /* the rest is in on-disk format */
        if (item->ri_buf[1].i_len > sizeof(struct xfs_icdinode)) {
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_mount.h linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_mount.h
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_mount.h linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_mount.h
 --- linux-2.6.31.2/fs/xfs/xfs_mount.h  2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_mount.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_mount.h    2009-09-10 16:11:43.000000000 +0200
 @@ -283,6 +283,7 @@ typedef struct xfs_mount {
                                                   allocator */
  #define XFS_MOUNT_NOATTR2     (1ULL << 25)    /* disable use of attr2 format */
@@ -7628,10 +7816,10 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_mount.h linux-2.6.31.2-vs2.3.0.3
  
  /*
   * Default minimum read and write sizes.
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_vnodeops.c
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_vnodeops.c
 --- linux-2.6.31.2/fs/xfs/xfs_vnodeops.c       2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_vnodeops.c 2009-09-10 17:04:03.000000000 +0200
-@@ -54,6 +54,90 @@
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_vnodeops.c 2009-10-07 15:57:06.000000000 +0200
+@@ -54,6 +54,80 @@
  #include "xfs_filestream.h"
  #include "xfs_vnodeops.h"
  
@@ -7664,26 +7852,21 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
 +}
 +
 +int
-+xfs_sync_xflags(
-+      xfs_inode_t             *ip)
++xfs_sync_flags(
++      struct inode            *inode,
++      int                     flags,
++      int                     vflags)
 +{
++      struct xfs_inode        *ip = XFS_I(inode);
 +      struct xfs_mount        *mp = ip->i_mount;
-+      struct xfs_trans        *tp;
++      struct xfs_trans        *tp;
 +      unsigned int            lock_flags = 0;
 +      int                     code;
 +
-+      xfs_itrace_entry(ip);
-+
-+      if (mp->m_flags & XFS_MOUNT_RDONLY)
-+              return XFS_ERROR(EROFS);
-+
-+      /*
-+       * we acquire the inode lock and do an error checking pass.
-+       */
 +      tp = xfs_trans_alloc(mp, XFS_TRANS_SETATTR_NOT_SIZE);
 +      code = xfs_trans_reserve(tp, 0, XFS_ICHANGE_LOG_RES(mp), 0, 0, 0);
 +      if (code)
-+              goto error_return;
++              goto error_out;
 +
 +      lock_flags = XFS_ILOCK_EXCL;
 +      xfs_ilock(ip, lock_flags);
@@ -7691,38 +7874,33 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
 +      xfs_trans_ijoin(tp, ip, lock_flags);
 +      xfs_trans_ihold(tp, ip);
 +
++      inode->i_flags = flags;
++      inode->i_vflags = vflags;
 +      xfs_get_inode_flags(ip);
-+      // xfs_diflags_to_linux(ip);
 +
 +      xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
 +      xfs_ichgtime(ip, XFS_ICHGTIME_CHG);
 +
 +      XFS_STATS_INC(xs_ig_attrchg);
 +
-+      /*
-+       * If this is a synchronous mount, make sure that the
-+       * transaction goes to disk before returning to the user.
-+       */
 +      if (mp->m_flags & XFS_MOUNT_WSYNC)
 +              xfs_trans_set_sync(tp);
 +      code = xfs_trans_commit(tp, 0);
 +      xfs_iunlock(ip, lock_flags);
++      return code;
 +
-+      if (code)
-+              return code;
-+      return 0;
-+
-+ error_return:
++error_out:
 +      xfs_trans_cancel(tp, 0);
 +      if (lock_flags)
 +              xfs_iunlock(ip, lock_flags);
 +      return code;
 +}
++
 +
  int
  xfs_setattr(
        struct xfs_inode        *ip,
-@@ -69,6 +153,7 @@ xfs_setattr(
+@@ -69,6 +143,7 @@ xfs_setattr(
        uint                    commit_flags=0;
        uid_t                   uid=0, iuid=0;
        gid_t                   gid=0, igid=0;
@@ -7730,7 +7908,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
        int                     timeflags = 0;
        struct xfs_dquot        *udqp, *gdqp, *olddquot1, *olddquot2;
        int                     need_iolock = 1;
-@@ -165,7 +250,7 @@ xfs_setattr(
+@@ -165,7 +240,7 @@ xfs_setattr(
        /*
         * Change file ownership.  Must be the owner or privileged.
         */
@@ -7739,7 +7917,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
                /*
                 * These IDs could have changed since we last looked at them.
                 * But, we're assured that if the ownership did change
-@@ -174,8 +259,10 @@ xfs_setattr(
+@@ -174,8 +249,10 @@ xfs_setattr(
                 */
                iuid = ip->i_d.di_uid;
                igid = ip->i_d.di_gid;
@@ -7750,7 +7928,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
  
                /*
                 * Do a quota reservation only if uid/gid is actually
-@@ -183,7 +270,8 @@ xfs_setattr(
+@@ -183,7 +260,8 @@ xfs_setattr(
                 */
                if (XFS_IS_QUOTA_RUNNING(mp) &&
                    ((XFS_IS_UQUOTA_ON(mp) && iuid != uid) ||
@@ -7760,7 +7938,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
                        ASSERT(tp);
                        code = xfs_qm_vop_chown_reserve(tp, ip, udqp, gdqp,
                                                capable(CAP_FOWNER) ?
-@@ -336,7 +424,7 @@ xfs_setattr(
+@@ -336,7 +414,7 @@ xfs_setattr(
        /*
         * Change file ownership.  Must be the owner or privileged.
         */
@@ -7769,7 +7947,7 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
                /*
                 * CAP_FSETID overrides the following restrictions:
                 *
-@@ -352,6 +440,10 @@ xfs_setattr(
+@@ -352,6 +430,10 @@ xfs_setattr(
                 * Change the ownerships and register quota modifications
                 * in the transaction.
                 */
@@ -7780,9 +7958,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.c linux-2.6.31.2-vs2.3.
                if (iuid != uid) {
                        if (XFS_IS_QUOTA_RUNNING(mp) && XFS_IS_UQUOTA_ON(mp)) {
                                ASSERT(mask & ATTR_UID);
-diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.h linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_vnodeops.h
+diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.h linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_vnodeops.h
 --- linux-2.6.31.2/fs/xfs/xfs_vnodeops.h       2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/fs/xfs/xfs_vnodeops.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/fs/xfs/xfs_vnodeops.h 2009-09-10 16:11:43.000000000 +0200
 @@ -14,6 +14,7 @@ struct xfs_inode;
  struct xfs_iomap;
  
@@ -7791,9 +7969,9 @@ diff -NurpP --minimal linux-2.6.31.2/fs/xfs/xfs_vnodeops.h linux-2.6.31.2-vs2.3.
  int xfs_setattr(struct xfs_inode *ip, struct iattr *vap, int flags);
  #define       XFS_ATTR_DMI            0x01    /* invocation from a DMI function */
  #define       XFS_ATTR_NONBLOCK       0x02    /* return EAGAIN if operation would block */
-diff -NurpP --minimal linux-2.6.31.2/include/asm-generic/tlb.h linux-2.6.31.2-vs2.3.0.36.15/include/asm-generic/tlb.h
+diff -NurpP --minimal linux-2.6.31.2/include/asm-generic/tlb.h linux-2.6.31.2-vs2.3.0.36.16/include/asm-generic/tlb.h
 --- linux-2.6.31.2/include/asm-generic/tlb.h   2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/asm-generic/tlb.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/asm-generic/tlb.h     2009-09-10 16:11:43.000000000 +0200
 @@ -14,6 +14,7 @@
  #define _ASM_GENERIC__TLB_H
  
@@ -7802,9 +7980,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/asm-generic/tlb.h linux-2.6.31.2-vs
  #include <asm/pgalloc.h>
  #include <asm/tlbflush.h>
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/capability.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/capability.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/capability.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/capability.h
 --- linux-2.6.31.2/include/linux/capability.h  2009-06-11 17:13:13.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/capability.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/capability.h    2009-09-10 16:11:43.000000000 +0200
 @@ -285,6 +285,7 @@ struct cpu_vfs_cap_data {
     arbitrary SCSI commands */
  /* Allow setting encryption key on loopback filesystem */
@@ -7828,18 +8006,18 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/capability.h linux-2.6.31.2-v
  
  #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/devpts_fs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/devpts_fs.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/devpts_fs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/devpts_fs.h
 --- linux-2.6.31.2/include/linux/devpts_fs.h   2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/devpts_fs.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/devpts_fs.h     2009-09-10 16:11:43.000000000 +0200
 @@ -45,5 +45,4 @@ static inline void devpts_pty_kill(struc
  
  #endif
  
 -
  #endif /* _LINUX_DEVPTS_FS_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/ext2_fs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/ext2_fs.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/ext2_fs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/ext2_fs.h
 --- linux-2.6.31.2/include/linux/ext2_fs.h     2009-03-24 14:22:41.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/ext2_fs.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/ext2_fs.h       2009-09-10 16:11:43.000000000 +0200
 @@ -189,8 +189,12 @@ struct ext2_group_desc
  #define EXT2_NOTAIL_FL                        FS_NOTAIL_FL    /* file tail should not be merged */
  #define EXT2_DIRSYNC_FL                       FS_DIRSYNC_FL   /* dirsync behaviour (directories only) */
@@ -7878,9 +8056,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/ext2_fs.h linux-2.6.31.2-vs2.
  
  
  #define clear_opt(o, opt)             o &= ~EXT2_MOUNT_##opt
-diff -NurpP --minimal linux-2.6.31.2/include/linux/ext3_fs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/ext3_fs.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/ext3_fs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/ext3_fs.h
 --- linux-2.6.31.2/include/linux/ext3_fs.h     2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/ext3_fs.h       2009-09-10 17:14:14.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/ext3_fs.h       2009-10-07 00:05:54.000000000 +0200
 @@ -173,10 +173,14 @@ struct ext3_group_desc
  #define EXT3_NOTAIL_FL                        0x00008000 /* file tail should not be merged */
  #define EXT3_DIRSYNC_FL                       0x00010000 /* dirsync behaviour (directories only) */
@@ -7923,17 +8101,17 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/ext3_fs.h linux-2.6.31.2-vs2.
  
  /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */
  #ifndef _LINUX_EXT2_FS_H
-@@ -875,6 +881,7 @@ struct buffer_head * ext3_bread (handle_
- int ext3_get_blocks_handle(handle_t *handle, struct inode *inode,
      sector_t iblock, unsigned long maxblocks, struct buffer_head *bh_result,
-       int create);
-+extern int ext3_sync_flags(struct inode *inode);
- extern struct inode *ext3_iget(struct super_block *, unsigned long);
- extern int  ext3_write_inode (struct inode *, int);
-diff -NurpP --minimal linux-2.6.31.2/include/linux/fs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/fs.h
+@@ -892,6 +898,7 @@ extern void ext3_get_inode_flags(struct 
+ extern void ext3_set_aops(struct inode *inode);
extern int ext3_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
+                      u64 start, u64 len);
++extern int ext3_sync_flags(struct inode *, int, int);
+ /* ioctl.c */
+ extern long ext3_ioctl(struct file *, unsigned int, unsigned long);
+diff -NurpP --minimal linux-2.6.31.2/include/linux/fs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/fs.h
 --- linux-2.6.31.2/include/linux/fs.h  2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/fs.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/fs.h    2009-10-06 23:35:53.000000000 +0200
 @@ -205,6 +205,9 @@ struct inodes_stat_t {
  #define MS_KERNMOUNT  (1<<22) /* this is a kern_mount call */
  #define MS_I_VERSION  (1<<23) /* Update inode I_version field */
@@ -8088,14 +8266,14 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/fs.h linux-2.6.31.2-vs2.3.0.3
  
        struct fasync_struct *  fl_fasync; /* for lease break notifications */
        unsigned long fl_break_time;    /* for nonblocking lease breaks */
-@@ -1539,6 +1576,7 @@ struct inode_operations {
+@@ -1534,6 +1571,7 @@ struct inode_operations {
+       ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t);
+       ssize_t (*listxattr) (struct dentry *, char *, size_t);
+       int (*removexattr) (struct dentry *, const char *);
++      int (*sync_flags) (struct inode *, int, int);
+       void (*truncate_range)(struct inode *, loff_t, loff_t);
+       long (*fallocate)(struct inode *inode, int mode, loff_t offset,
                          loff_t len);
-       int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
-                     u64 len);
-+      int (*sync_flags) (struct inode *);
- };
- struct seq_file;
 @@ -1554,6 +1592,7 @@ extern ssize_t vfs_readv(struct file *, 
                unsigned long, loff_t *);
  extern ssize_t vfs_writev(struct file *, const struct iovec __user *,
@@ -8112,9 +8290,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/fs.h linux-2.6.31.2-vs2.3.0.3
  extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *);
  extern int simple_statfs(struct dentry *, struct kstatfs *);
  extern int simple_link(struct dentry *, struct inode *, struct dentry *);
-diff -NurpP --minimal linux-2.6.31.2/include/linux/if_tun.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/if_tun.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/if_tun.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/if_tun.h
 --- linux-2.6.31.2/include/linux/if_tun.h      2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/if_tun.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/if_tun.h        2009-09-10 16:11:43.000000000 +0200
 @@ -48,6 +48,7 @@
  #define TUNGETIFF      _IOR('T', 210, unsigned int)
  #define TUNGETSNDBUF   _IOR('T', 211, int)
@@ -8123,9 +8301,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/if_tun.h linux-2.6.31.2-vs2.3
  
  /* TUNSETIFF ifr flags */
  #define IFF_TUN               0x0001
-diff -NurpP --minimal linux-2.6.31.2/include/linux/init_task.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/init_task.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/init_task.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/init_task.h
 --- linux-2.6.31.2/include/linux/init_task.h   2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/init_task.h     2009-09-10 17:13:45.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/init_task.h     2009-09-10 17:13:45.000000000 +0200
 @@ -173,6 +173,10 @@ extern struct cred init_cred;
        INIT_LOCKDEP                                                    \
        INIT_FTRACE_GRAPH                                               \
@@ -8137,9 +8315,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/init_task.h linux-2.6.31.2-vs
  }
  
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/interrupt.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/interrupt.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/interrupt.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/interrupt.h
 --- linux-2.6.31.2/include/linux/interrupt.h   2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/interrupt.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/interrupt.h     2009-09-10 16:11:43.000000000 +0200
 @@ -9,8 +9,8 @@
  #include <linux/cpumask.h>
  #include <linux/irqreturn.h>
@@ -8150,9 +8328,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/interrupt.h linux-2.6.31.2-vs
  #include <linux/irqflags.h>
  #include <linux/smp.h>
  #include <linux/percpu.h>
-diff -NurpP --minimal linux-2.6.31.2/include/linux/ipc.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/ipc.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/ipc.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/ipc.h
 --- linux-2.6.31.2/include/linux/ipc.h 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/ipc.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/ipc.h   2009-09-10 16:11:43.000000000 +0200
 @@ -93,6 +93,7 @@ struct kern_ipc_perm
        key_t           key;
        uid_t           uid;
@@ -8161,9 +8339,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/ipc.h linux-2.6.31.2-vs2.3.0.
        uid_t           cuid;
        gid_t           cgid;
        mode_t          mode; 
-diff -NurpP --minimal linux-2.6.31.2/include/linux/Kbuild linux-2.6.31.2-vs2.3.0.36.15/include/linux/Kbuild
+diff -NurpP --minimal linux-2.6.31.2/include/linux/Kbuild linux-2.6.31.2-vs2.3.0.36.16/include/linux/Kbuild
 --- linux-2.6.31.2/include/linux/Kbuild        2009-09-10 15:26:24.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/Kbuild  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/Kbuild  2009-09-10 16:11:43.000000000 +0200
 @@ -376,5 +376,8 @@ unifdef-y += xattr.h
  unifdef-y += xfrm.h
  
@@ -8173,9 +8351,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/Kbuild linux-2.6.31.2-vs2.3.0
  header-y += wimax.h
  header-y += wimax/
 +
-diff -NurpP --minimal linux-2.6.31.2/include/linux/loop.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/loop.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/loop.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/loop.h
 --- linux-2.6.31.2/include/linux/loop.h        2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/loop.h  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/loop.h  2009-09-10 16:11:43.000000000 +0200
 @@ -45,6 +45,7 @@ struct loop_device {
        struct loop_func_table *lo_encryption;
        __u32           lo_init[2];
@@ -8184,9 +8362,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/loop.h linux-2.6.31.2-vs2.3.0
        int             (*ioctl)(struct loop_device *, int cmd, 
                                 unsigned long arg); 
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/magic.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/magic.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/magic.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/magic.h
 --- linux-2.6.31.2/include/linux/magic.h       2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/magic.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/magic.h 2009-09-10 16:11:43.000000000 +0200
 @@ -3,7 +3,7 @@
  
  #define ADFS_SUPER_MAGIC      0xadf5
@@ -8204,9 +8382,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/magic.h linux-2.6.31.2-vs2.3.
  #define QNX4_SUPER_MAGIC      0x002f          /* qnx4 fs detection */
  
  #define REISERFS_SUPER_MAGIC  0x52654973      /* used by gcc */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/major.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/major.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/major.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/major.h
 --- linux-2.6.31.2/include/linux/major.h       2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/major.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/major.h 2009-09-10 16:11:43.000000000 +0200
 @@ -15,6 +15,7 @@
  #define HD_MAJOR              IDE0_MAJOR
  #define PTY_SLAVE_MAJOR               3
@@ -8215,9 +8393,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/major.h linux-2.6.31.2-vs2.3.
  #define TTYAUX_MAJOR          5
  #define LP_MAJOR              6
  #define VCS_MAJOR             7
-diff -NurpP --minimal linux-2.6.31.2/include/linux/mm_types.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/mm_types.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/mm_types.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/mm_types.h
 --- linux-2.6.31.2/include/linux/mm_types.h    2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/mm_types.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/mm_types.h      2009-09-10 16:11:43.000000000 +0200
 @@ -244,6 +244,7 @@ struct mm_struct {
  
        /* Architecture-specific MM context */
@@ -8226,9 +8404,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/mm_types.h linux-2.6.31.2-vs2
  
        /* Swap token stuff */
        /*
-diff -NurpP --minimal linux-2.6.31.2/include/linux/mount.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/mount.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/mount.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/mount.h
 --- linux-2.6.31.2/include/linux/mount.h       2009-09-10 15:26:25.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/mount.h 2009-09-10 17:14:39.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/mount.h 2009-09-10 17:14:39.000000000 +0200
 @@ -36,6 +36,9 @@ struct mnt_namespace;
  #define MNT_UNBINDABLE        0x2000  /* if the vfsmount is a unbindable mount */
  #define MNT_PNODE_MASK        0x3000  /* propagation flag mask */
@@ -8247,9 +8425,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/mount.h linux-2.6.31.2-vs2.3.
  };
  
  static inline int *get_mnt_writers_ptr(struct vfsmount *mnt)
-diff -NurpP --minimal linux-2.6.31.2/include/linux/net.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/net.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/net.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/net.h
 --- linux-2.6.31.2/include/linux/net.h 2009-06-11 17:13:15.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/net.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/net.h   2009-09-10 16:11:43.000000000 +0200
 @@ -68,6 +68,7 @@ struct net;
  #define SOCK_NOSPACE          2
  #define SOCK_PASSCRED         3
@@ -8258,9 +8436,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/net.h linux-2.6.31.2-vs2.3.0.
  
  #ifndef ARCH_HAS_SOCKET_TYPES
  /**
-diff -NurpP --minimal linux-2.6.31.2/include/linux/nfs_mount.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/nfs_mount.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/nfs_mount.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/nfs_mount.h
 --- linux-2.6.31.2/include/linux/nfs_mount.h   2009-03-24 14:22:43.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/nfs_mount.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/nfs_mount.h     2009-09-10 16:11:43.000000000 +0200
 @@ -63,7 +63,8 @@ struct nfs_mount_data {
  #define NFS_MOUNT_SECFLAVOUR  0x2000  /* 5 */
  #define NFS_MOUNT_NORDIRPLUS  0x4000  /* 5 */
@@ -8271,9 +8449,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/nfs_mount.h linux-2.6.31.2-vs
  
  /* The following are for internal use only */
  #define NFS_MOUNT_LOOKUP_CACHE_NONEG  0x10000
-diff -NurpP --minimal linux-2.6.31.2/include/linux/nsproxy.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/nsproxy.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/nsproxy.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/nsproxy.h
 --- linux-2.6.31.2/include/linux/nsproxy.h     2009-06-11 17:13:17.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/nsproxy.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/nsproxy.h       2009-09-10 16:11:43.000000000 +0200
 @@ -3,6 +3,7 @@
  
  #include <linux/spinlock.h>
@@ -8322,9 +8500,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/nsproxy.h linux-2.6.31.2-vs2.
  }
  
  #ifdef CONFIG_CGROUP_NS
-diff -NurpP --minimal linux-2.6.31.2/include/linux/pid.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/pid.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/pid.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/pid.h
 --- linux-2.6.31.2/include/linux/pid.h 2009-03-24 14:22:43.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/pid.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/pid.h   2009-09-10 16:11:43.000000000 +0200
 @@ -8,7 +8,8 @@ enum pid_type
        PIDTYPE_PID,
        PIDTYPE_PGID,
@@ -8343,9 +8521,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/pid.h linux-2.6.31.2-vs2.3.0.
  pid_t pid_vnr(struct pid *pid);
  
  #define do_each_pid_task(pid, type, task)                             \
-diff -NurpP --minimal linux-2.6.31.2/include/linux/proc_fs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/proc_fs.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/proc_fs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/proc_fs.h
 --- linux-2.6.31.2/include/linux/proc_fs.h     2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/proc_fs.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/proc_fs.h       2009-09-10 16:11:43.000000000 +0200
 @@ -56,6 +56,7 @@ struct proc_dir_entry {
        nlink_t nlink;
        uid_t uid;
@@ -8381,9 +8559,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/proc_fs.h linux-2.6.31.2-vs2.
        int fd;
        union proc_op op;
        struct proc_dir_entry *pde;
-diff -NurpP --minimal linux-2.6.31.2/include/linux/reiserfs_fs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/reiserfs_fs.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/reiserfs_fs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/reiserfs_fs.h
 --- linux-2.6.31.2/include/linux/reiserfs_fs.h 2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/reiserfs_fs.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/reiserfs_fs.h   2009-10-07 01:27:41.000000000 +0200
 @@ -899,6 +899,11 @@ struct stat_data_v1 {
  #define REISERFS_COMPR_FL     FS_COMPR_FL
  #define REISERFS_NOTAIL_FL    FS_NOTAIL_FL
@@ -8410,13 +8588,13 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/reiserfs_fs.h linux-2.6.31.2-
  void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode);
  void i_attrs_to_sd_attrs(struct inode *inode, __u16 * sd_attrs);
  int reiserfs_setattr(struct dentry *dentry, struct iattr *attr);
-+int reiserfs_sync_flags(struct inode *inode);
++int reiserfs_sync_flags(struct inode *inode, int, int);
  
  /* namei.c */
  void set_de_name_and_namelen(struct reiserfs_dir_entry *de);
-diff -NurpP --minimal linux-2.6.31.2/include/linux/reiserfs_fs_sb.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/reiserfs_fs_sb.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/reiserfs_fs_sb.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/reiserfs_fs_sb.h
 --- linux-2.6.31.2/include/linux/reiserfs_fs_sb.h      2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/reiserfs_fs_sb.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/reiserfs_fs_sb.h        2009-09-10 16:11:43.000000000 +0200
 @@ -456,6 +456,7 @@ enum reiserfs_mount_options {
        REISERFS_EXPOSE_PRIVROOT,
        REISERFS_BARRIER_NONE,
@@ -8425,9 +8603,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/reiserfs_fs_sb.h linux-2.6.31
  
        /* Actions on error */
        REISERFS_ERROR_PANIC,
-diff -NurpP --minimal linux-2.6.31.2/include/linux/sched.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/sched.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/sched.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/sched.h
 --- linux-2.6.31.2/include/linux/sched.h       2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/sched.h 2009-10-06 04:39:26.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/sched.h 2009-10-06 04:39:26.000000000 +0200
 @@ -383,25 +383,28 @@ extern void arch_unmap_area_topdown(stru
   * The mm counters are not protected by its page_table_lock,
   * so must be incremented atomically.
@@ -8542,9 +8720,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/sched.h linux-2.6.31.2-vs2.3.
  }
  
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/shmem_fs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/shmem_fs.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/shmem_fs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/shmem_fs.h
 --- linux-2.6.31.2/include/linux/shmem_fs.h    2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/shmem_fs.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/shmem_fs.h      2009-09-10 16:11:43.000000000 +0200
 @@ -8,6 +8,9 @@
  
  #define SHMEM_NR_DIRECT 16
@@ -8555,9 +8733,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/shmem_fs.h linux-2.6.31.2-vs2
  struct shmem_inode_info {
        spinlock_t              lock;
        unsigned long           flags;
-diff -NurpP --minimal linux-2.6.31.2/include/linux/stat.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/stat.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/stat.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/stat.h
 --- linux-2.6.31.2/include/linux/stat.h        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/stat.h  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/stat.h  2009-09-10 16:11:43.000000000 +0200
 @@ -66,6 +66,7 @@ struct kstat {
        unsigned int    nlink;
        uid_t           uid;
@@ -8566,9 +8744,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/stat.h linux-2.6.31.2-vs2.3.0
        dev_t           rdev;
        loff_t          size;
        struct timespec  atime;
-diff -NurpP --minimal linux-2.6.31.2/include/linux/sunrpc/auth.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/sunrpc/auth.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/sunrpc/auth.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/sunrpc/auth.h
 --- linux-2.6.31.2/include/linux/sunrpc/auth.h 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/sunrpc/auth.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/sunrpc/auth.h   2009-09-10 16:11:43.000000000 +0200
 @@ -25,6 +25,7 @@
  struct auth_cred {
        uid_t   uid;
@@ -8577,9 +8755,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/sunrpc/auth.h linux-2.6.31.2-
        struct group_info *group_info;
        unsigned char machine_cred : 1;
  };
-diff -NurpP --minimal linux-2.6.31.2/include/linux/sunrpc/clnt.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/sunrpc/clnt.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/sunrpc/clnt.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/sunrpc/clnt.h
 --- linux-2.6.31.2/include/linux/sunrpc/clnt.h 2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/sunrpc/clnt.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/sunrpc/clnt.h   2009-09-10 16:11:43.000000000 +0200
 @@ -43,7 +43,8 @@ struct rpc_clnt {
        unsigned int            cl_softrtry : 1,/* soft timeouts */
                                cl_discrtry : 1,/* disconnect before retry */
@@ -8590,9 +8768,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/sunrpc/clnt.h linux-2.6.31.2-
  
        struct rpc_rtt *        cl_rtt;         /* RTO estimator data */
        const struct rpc_timeout *cl_timeout;   /* Timeout strategy */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/syscalls.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/syscalls.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/syscalls.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/syscalls.h
 --- linux-2.6.31.2/include/linux/syscalls.h    2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/syscalls.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/syscalls.h      2009-09-10 16:11:43.000000000 +0200
 @@ -428,6 +428,8 @@ asmlinkage long sys_symlink(const char _
  asmlinkage long sys_unlink(const char __user *pathname);
  asmlinkage long sys_rename(const char __user *oldname,
@@ -8602,9 +8780,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/syscalls.h linux-2.6.31.2-vs2
  asmlinkage long sys_chmod(const char __user *filename, mode_t mode);
  asmlinkage long sys_fchmod(unsigned int fd, mode_t mode);
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/sysctl.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/sysctl.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/sysctl.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/sysctl.h
 --- linux-2.6.31.2/include/linux/sysctl.h      2009-06-11 17:13:18.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/sysctl.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/sysctl.h        2009-09-10 16:11:43.000000000 +0200
 @@ -70,6 +70,7 @@ enum
        CTL_ABI=9,              /* Binary emulation */
        CTL_CPU=10,             /* CPU stuff (speed scaling, etc) */
@@ -8621,9 +8799,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/sysctl.h linux-2.6.31.2-vs2.3
  
        KERN_SPARC_REBOOT=21,   /* reboot command on Sparc */
        KERN_CTLALTDEL=22,      /* int: allow ctl-alt-del to reboot */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/sysfs.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/sysfs.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/sysfs.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/sysfs.h
 --- linux-2.6.31.2/include/linux/sysfs.h       2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/sysfs.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/sysfs.h 2009-09-10 16:11:43.000000000 +0200
 @@ -17,6 +17,8 @@
  #include <linux/list.h>
  #include <asm/atomic.h>
@@ -8633,9 +8811,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/sysfs.h linux-2.6.31.2-vs2.3.
  struct kobject;
  struct module;
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/time.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/time.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/time.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/time.h
 --- linux-2.6.31.2/include/linux/time.h        2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/time.h  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/time.h  2009-09-10 16:11:43.000000000 +0200
 @@ -205,6 +205,9 @@ static __always_inline void timespec_add
        a->tv_sec += __iter_div_u64_rem(a->tv_nsec + ns, NSEC_PER_SEC, &ns);
        a->tv_nsec = ns;
@@ -8646,9 +8824,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/time.h linux-2.6.31.2-vs2.3.0
  #endif /* __KERNEL__ */
  
  #define NFDBITS                       __NFDBITS
-diff -NurpP --minimal linux-2.6.31.2/include/linux/types.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/types.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/types.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/types.h
 --- linux-2.6.31.2/include/linux/types.h       2009-09-10 15:26:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/types.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/types.h 2009-09-10 16:11:43.000000000 +0200
 @@ -37,6 +37,9 @@ typedef __kernel_uid32_t     uid_t;
  typedef __kernel_gid32_t      gid_t;
  typedef __kernel_uid16_t        uid16_t;
@@ -8659,9 +8837,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/types.h linux-2.6.31.2-vs2.3.
  
  typedef unsigned long         uintptr_t;
  
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vroot.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vroot.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vroot.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vroot.h
 --- linux-2.6.31.2/include/linux/vroot.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vroot.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vroot.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,51 @@
 +
 +/*
@@ -8714,9 +8892,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vroot.h linux-2.6.31.2-vs2.3.
 +#define VROOT_CLR_DEV         0x5601
 +
 +#endif /* _LINUX_VROOT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_base.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_base.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_base.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_base.h
 --- linux-2.6.31.2/include/linux/vs_base.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_base.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_base.h       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,10 @@
 +#ifndef _VS_BASE_H
 +#define _VS_BASE_H
@@ -8728,9 +8906,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_base.h linux-2.6.31.2-vs2.
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_context.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_context.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_context.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_context.h
 --- linux-2.6.31.2/include/linux/vs_context.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_context.h    2009-09-30 02:28:59.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_context.h    2009-09-30 02:28:59.000000000 +0200
 @@ -0,0 +1,242 @@
 +#ifndef _VS_CONTEXT_H
 +#define _VS_CONTEXT_H
@@ -8974,9 +9152,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_context.h linux-2.6.31.2-v
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_cowbl.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_cowbl.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_cowbl.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_cowbl.h
 --- linux-2.6.31.2/include/linux/vs_cowbl.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_cowbl.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_cowbl.h      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,47 @@
 +#ifndef _VS_COWBL_H
 +#define _VS_COWBL_H
@@ -9025,9 +9203,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_cowbl.h linux-2.6.31.2-vs2
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_cvirt.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_cvirt.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_cvirt.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_cvirt.h
 --- linux-2.6.31.2/include/linux/vs_cvirt.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_cvirt.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_cvirt.h      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,50 @@
 +#ifndef _VS_CVIRT_H
 +#define _VS_CVIRT_H
@@ -9079,9 +9257,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_cvirt.h linux-2.6.31.2-vs2
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_device.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_device.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_device.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_device.h
 --- linux-2.6.31.2/include/linux/vs_device.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_device.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_device.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,45 @@
 +#ifndef _VS_DEVICE_H
 +#define _VS_DEVICE_H
@@ -9128,9 +9306,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_device.h linux-2.6.31.2-vs
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_dlimit.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_dlimit.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_dlimit.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_dlimit.h
 --- linux-2.6.31.2/include/linux/vs_dlimit.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_dlimit.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_dlimit.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,211 @@
 +#ifndef _VS_DLIMIT_H
 +#define _VS_DLIMIT_H
@@ -9343,9 +9521,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_dlimit.h linux-2.6.31.2-vs
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/base.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/base.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/base.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/base.h
 --- linux-2.6.31.2/include/linux/vserver/base.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/base.h  2009-09-30 02:18:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/base.h  2009-09-30 02:18:43.000000000 +0200
 @@ -0,0 +1,159 @@
 +#ifndef _VX_BASE_H
 +#define _VX_BASE_H
@@ -9506,9 +9684,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/base.h linux-2.6.31.2
 +#define nx_info_state(n, m)   (__nx_state(n) & (m))
 +
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/cacct_cmd.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct_cmd.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct_cmd.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,23 @@
 +#ifndef _VX_CACCT_CMD_H
 +#define _VX_CACCT_CMD_H
@@ -9533,9 +9711,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_cmd.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_CACCT_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_def.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct_def.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_def.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct_def.h
 --- linux-2.6.31.2/include/linux/vserver/cacct_def.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct_def.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct_def.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,43 @@
 +#ifndef _VX_CACCT_DEF_H
 +#define _VX_CACCT_DEF_H
@@ -9580,9 +9758,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_def.h linux-2.6
 +#endif
 +
 +#endif        /* _VX_CACCT_DEF_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct.h
 --- linux-2.6.31.2/include/linux/vserver/cacct.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,15 @@
 +#ifndef _VX_CACCT_H
 +#define _VX_CACCT_H
@@ -9599,9 +9777,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct.h linux-2.6.31.
 +};
 +
 +#endif        /* _VX_CACCT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_int.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct_int.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_int.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct_int.h
 --- linux-2.6.31.2/include/linux/vserver/cacct_int.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cacct_int.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cacct_int.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,21 @@
 +#ifndef _VX_CACCT_INT_H
 +#define _VX_CACCT_INT_H
@@ -9624,9 +9802,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cacct_int.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_CACCT_INT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/check.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/check.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/check.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/check.h
 --- linux-2.6.31.2/include/linux/vserver/check.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/check.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/check.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,89 @@
 +#ifndef _VS_CHECK_H
 +#define _VS_CHECK_H
@@ -9717,9 +9895,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/check.h linux-2.6.31.
 +#define nx_weak_check(c, m)   ((m) ? nx_check(c, m) : 1)
 +
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/context_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/context_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/context_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/context_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/context_cmd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/context_cmd.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/context_cmd.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,128 @@
 +#ifndef _VX_CONTEXT_CMD_H
 +#define _VX_CONTEXT_CMD_H
@@ -9849,9 +10027,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/context_cmd.h linux-2
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/context.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/context.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/context.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/context.h
 --- linux-2.6.31.2/include/linux/vserver/context.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/context.h       2009-10-03 01:55:20.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/context.h       2009-10-03 01:55:20.000000000 +0200
 @@ -0,0 +1,182 @@
 +#ifndef _VX_CONTEXT_H
 +#define _VX_CONTEXT_H
@@ -10035,9 +10213,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/context.h linux-2.6.3
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_CONTEXT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cvirt_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cvirt_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/cvirt_cmd.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cvirt_cmd.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cvirt_cmd.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,53 @@
 +#ifndef _VX_CVIRT_CMD_H
 +#define _VX_CVIRT_CMD_H
@@ -10092,9 +10270,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt_cmd.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_CVIRT_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt_def.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cvirt_def.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt_def.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cvirt_def.h
 --- linux-2.6.31.2/include/linux/vserver/cvirt_def.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cvirt_def.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cvirt_def.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,80 @@
 +#ifndef _VX_CVIRT_DEF_H
 +#define _VX_CVIRT_DEF_H
@@ -10176,9 +10354,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt_def.h linux-2.6
 +#endif
 +
 +#endif        /* _VX_CVIRT_DEF_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cvirt.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cvirt.h
 --- linux-2.6.31.2/include/linux/vserver/cvirt.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/cvirt.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/cvirt.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,20 @@
 +#ifndef _VX_CVIRT_H
 +#define _VX_CVIRT_H
@@ -10200,9 +10378,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/cvirt.h linux-2.6.31.
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_CVIRT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/debug_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/debug_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/debug_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/debug_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/debug_cmd.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/debug_cmd.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/debug_cmd.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,58 @@
 +#ifndef _VX_DEBUG_CMD_H
 +#define _VX_DEBUG_CMD_H
@@ -10262,9 +10440,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/debug_cmd.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_DEBUG_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/debug.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/debug.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/debug.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/debug.h
 --- linux-2.6.31.2/include/linux/vserver/debug.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/debug.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/debug.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,127 @@
 +#ifndef _VX_DEBUG_H
 +#define _VX_DEBUG_H
@@ -10393,9 +10571,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/debug.h linux-2.6.31.
 +
 +
 +#endif /* _VX_DEBUG_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/device_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/device_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/device_cmd.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/device_cmd.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/device_cmd.h    2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,44 @@
 +#ifndef _VX_DEVICE_CMD_H
 +#define _VX_DEVICE_CMD_H
@@ -10441,9 +10619,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device_cmd.h linux-2.
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_DEVICE_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device_def.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/device_def.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device_def.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/device_def.h
 --- linux-2.6.31.2/include/linux/vserver/device_def.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/device_def.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/device_def.h    2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,17 @@
 +#ifndef _VX_DEVICE_DEF_H
 +#define _VX_DEVICE_DEF_H
@@ -10462,9 +10640,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device_def.h linux-2.
 +};
 +
 +#endif        /* _VX_DEVICE_DEF_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/device.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/device.h
 --- linux-2.6.31.2/include/linux/vserver/device.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/device.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/device.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,15 @@
 +#ifndef _VX_DEVICE_H
 +#define _VX_DEVICE_H
@@ -10481,9 +10659,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/device.h linux-2.6.31
 +#else /* _VX_DEVICE_H */
 +#warning duplicate inclusion
 +#endif        /* _VX_DEVICE_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/dlimit_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/dlimit_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/dlimit_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/dlimit_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/dlimit_cmd.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/dlimit_cmd.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/dlimit_cmd.h    2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,74 @@
 +#ifndef _VX_DLIMIT_CMD_H
 +#define _VX_DLIMIT_CMD_H
@@ -10559,9 +10737,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/dlimit_cmd.h linux-2.
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_DLIMIT_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/dlimit.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/dlimit.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/dlimit.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/dlimit.h
 --- linux-2.6.31.2/include/linux/vserver/dlimit.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/dlimit.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/dlimit.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,54 @@
 +#ifndef _VX_DLIMIT_H
 +#define _VX_DLIMIT_H
@@ -10617,9 +10795,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/dlimit.h linux-2.6.31
 +#else /* _VX_DLIMIT_H */
 +#warning duplicate inclusion
 +#endif        /* _VX_DLIMIT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/global.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/global.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/global.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/global.h
 --- linux-2.6.31.2/include/linux/vserver/global.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/global.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/global.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,19 @@
 +#ifndef _VX_GLOBAL_H
 +#define _VX_GLOBAL_H
@@ -10640,9 +10818,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/global.h linux-2.6.31
 +
 +
 +#endif /* _VX_GLOBAL_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/history.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/history.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/history.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/history.h
 --- linux-2.6.31.2/include/linux/vserver/history.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/history.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/history.h       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,197 @@
 +#ifndef _VX_HISTORY_H
 +#define _VX_HISTORY_H
@@ -10841,9 +11019,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/history.h linux-2.6.3
 +#endif /* CONFIG_VSERVER_HISTORY */
 +
 +#endif /* _VX_HISTORY_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/inode_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/inode_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/inode_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/inode_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/inode_cmd.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/inode_cmd.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/inode_cmd.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,59 @@
 +#ifndef _VX_INODE_CMD_H
 +#define _VX_INODE_CMD_H
@@ -10904,10 +11082,10 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/inode_cmd.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_INODE_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/inode.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/inode.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/inode.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/inode.h
 --- linux-2.6.31.2/include/linux/vserver/inode.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/inode.h 2009-09-10 16:11:43.000000000 +0200
-@@ -0,0 +1,38 @@
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/inode.h 2009-10-06 23:34:11.000000000 +0200
+@@ -0,0 +1,39 @@
 +#ifndef _VX_INODE_H
 +#define _VX_INODE_H
 +
@@ -10922,6 +11100,7 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/inode.h linux-2.6.31.
 +#define IATTR_BARRIER 0x00010000
 +#define IATTR_IXUNLINK        0x00020000
 +#define IATTR_IMMUTABLE 0x00040000
++#define IATTR_COW     0x00080000
 +
 +#ifdef        __KERNEL__
 +
@@ -10946,9 +11125,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/inode.h linux-2.6.31.
 +#else /* _VX_INODE_H */
 +#warning duplicate inclusion
 +#endif        /* _VX_INODE_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/Kbuild linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/Kbuild
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/Kbuild linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/Kbuild
 --- linux-2.6.31.2/include/linux/vserver/Kbuild        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/Kbuild  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/Kbuild  2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,8 @@
 +
 +unifdef-y += context_cmd.h network_cmd.h space_cmd.h \
@@ -10958,9 +11137,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/Kbuild linux-2.6.31.2
 +
 +unifdef-y += switch.h network.h monitor.h inode.h device.h
 +
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/limit_cmd.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit_cmd.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit_cmd.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,71 @@
 +#ifndef _VX_LIMIT_CMD_H
 +#define _VX_LIMIT_CMD_H
@@ -11033,9 +11212,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_cmd.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_LIMIT_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_def.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit_def.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_def.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit_def.h
 --- linux-2.6.31.2/include/linux/vserver/limit_def.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit_def.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit_def.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,47 @@
 +#ifndef _VX_LIMIT_DEF_H
 +#define _VX_LIMIT_DEF_H
@@ -11084,9 +11263,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_def.h linux-2.6
 +#endif
 +
 +#endif        /* _VX_LIMIT_DEF_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit.h
 --- linux-2.6.31.2/include/linux/vserver/limit.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,70 @@
 +#ifndef _VX_LIMIT_H
 +#define _VX_LIMIT_H
@@ -11158,9 +11337,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit.h linux-2.6.31.
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_LIMIT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_int.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit_int.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_int.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit_int.h
 --- linux-2.6.31.2/include/linux/vserver/limit_int.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/limit_int.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/limit_int.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,198 @@
 +#ifndef _VX_LIMIT_INT_H
 +#define _VX_LIMIT_INT_H
@@ -11360,9 +11539,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/limit_int.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_LIMIT_INT_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/monitor.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/monitor.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/monitor.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/monitor.h
 --- linux-2.6.31.2/include/linux/vserver/monitor.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/monitor.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/monitor.h       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,96 @@
 +#ifndef _VX_MONITOR_H
 +#define _VX_MONITOR_H
@@ -11460,9 +11639,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/monitor.h linux-2.6.3
 +
 +
 +#endif /* _VX_MONITOR_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/network_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/network_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/network_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/network_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/network_cmd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/network_cmd.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/network_cmd.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,150 @@
 +#ifndef _VX_NETWORK_CMD_H
 +#define _VX_NETWORK_CMD_H
@@ -11614,9 +11793,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/network_cmd.h linux-2
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/network.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/network.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/network.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/network.h
 --- linux-2.6.31.2/include/linux/vserver/network.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/network.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/network.h       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,146 @@
 +#ifndef _VX_NETWORK_H
 +#define _VX_NETWORK_H
@@ -11764,9 +11943,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/network.h linux-2.6.3
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_NETWORK_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/percpu.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/percpu.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/percpu.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/percpu.h
 --- linux-2.6.31.2/include/linux/vserver/percpu.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/percpu.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/percpu.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,14 @@
 +#ifndef _VX_PERCPU_H
 +#define _VX_PERCPU_H
@@ -11782,9 +11961,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/percpu.h linux-2.6.31
 +#define       PERCPU_PERCTX   (sizeof(struct _vx_percpu))
 +
 +#endif        /* _VX_PERCPU_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/pid.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/pid.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/pid.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/pid.h
 --- linux-2.6.31.2/include/linux/vserver/pid.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/pid.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/pid.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,51 @@
 +#ifndef _VSERVER_PID_H
 +#define _VSERVER_PID_H
@@ -11837,9 +12016,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/pid.h linux-2.6.31.2-
 +}
 +
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/sched_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/sched_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/sched_cmd.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/sched_cmd.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/sched_cmd.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,108 @@
 +#ifndef _VX_SCHED_CMD_H
 +#define _VX_SCHED_CMD_H
@@ -11949,9 +12128,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched_cmd.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_SCHED_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched_def.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/sched_def.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched_def.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/sched_def.h
 --- linux-2.6.31.2/include/linux/vserver/sched_def.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/sched_def.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/sched_def.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,68 @@
 +#ifndef _VX_SCHED_DEF_H
 +#define _VX_SCHED_DEF_H
@@ -12021,9 +12200,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched_def.h linux-2.6
 +#endif
 +
 +#endif        /* _VX_SCHED_DEF_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/sched.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/sched.h
 --- linux-2.6.31.2/include/linux/vserver/sched.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/sched.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/sched.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,26 @@
 +#ifndef _VX_SCHED_H
 +#define _VX_SCHED_H
@@ -12051,9 +12230,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/sched.h linux-2.6.31.
 +#else /* _VX_SCHED_H */
 +#warning duplicate inclusion
 +#endif        /* _VX_SCHED_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/signal_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/signal_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/signal_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/signal_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/signal_cmd.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/signal_cmd.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/signal_cmd.h    2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,43 @@
 +#ifndef _VX_SIGNAL_CMD_H
 +#define _VX_SIGNAL_CMD_H
@@ -12098,9 +12277,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/signal_cmd.h linux-2.
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_SIGNAL_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/signal.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/signal.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/signal.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/signal.h
 --- linux-2.6.31.2/include/linux/vserver/signal.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/signal.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/signal.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,14 @@
 +#ifndef _VX_SIGNAL_H
 +#define _VX_SIGNAL_H
@@ -12116,9 +12295,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/signal.h linux-2.6.31
 +#else /* _VX_SIGNAL_H */
 +#warning duplicate inclusion
 +#endif        /* _VX_SIGNAL_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/space_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/space_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/space_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/space_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/space_cmd.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/space_cmd.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/space_cmd.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,38 @@
 +#ifndef _VX_SPACE_CMD_H
 +#define _VX_SPACE_CMD_H
@@ -12158,9 +12337,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/space_cmd.h linux-2.6
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_SPACE_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/space.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/space.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/space.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/space.h
 --- linux-2.6.31.2/include/linux/vserver/space.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/space.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/space.h 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,12 @@
 +#ifndef _VX_SPACE_H
 +#define _VX_SPACE_H
@@ -12174,9 +12353,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/space.h linux-2.6.31.
 +#else /* _VX_SPACE_H */
 +#warning duplicate inclusion
 +#endif        /* _VX_SPACE_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/switch.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/switch.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/switch.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/switch.h
 --- linux-2.6.31.2/include/linux/vserver/switch.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/switch.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/switch.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,98 @@
 +#ifndef _VX_SWITCH_H
 +#define _VX_SWITCH_H
@@ -12276,9 +12455,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/switch.h linux-2.6.31
 +
 +#endif        /* _VX_SWITCH_H */
 +
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/tag_cmd.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/tag_cmd.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/tag_cmd.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/tag_cmd.h
 --- linux-2.6.31.2/include/linux/vserver/tag_cmd.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/tag_cmd.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/tag_cmd.h       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,22 @@
 +#ifndef _VX_TAG_CMD_H
 +#define _VX_TAG_CMD_H
@@ -12302,9 +12481,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/tag_cmd.h linux-2.6.3
 +
 +#endif        /* __KERNEL__ */
 +#endif        /* _VX_TAG_CMD_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/tag.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/tag.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/tag.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/tag.h
 --- linux-2.6.31.2/include/linux/vserver/tag.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vserver/tag.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vserver/tag.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,143 @@
 +#ifndef _DX_TAG_H
 +#define _DX_TAG_H
@@ -12449,9 +12628,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vserver/tag.h linux-2.6.31.2-
 +#endif
 +
 +#endif /* _DX_TAG_H */
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_inet6.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_inet6.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_inet6.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_inet6.h
 --- linux-2.6.31.2/include/linux/vs_inet6.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_inet6.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_inet6.h      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,246 @@
 +#ifndef _VS_INET6_H
 +#define _VS_INET6_H
@@ -12699,9 +12878,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_inet6.h linux-2.6.31.2-vs2
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_inet.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_inet.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_inet.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_inet.h
 --- linux-2.6.31.2/include/linux/vs_inet.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_inet.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_inet.h       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,342 @@
 +#ifndef _VS_INET_H
 +#define _VS_INET_H
@@ -13045,9 +13224,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_inet.h linux-2.6.31.2-vs2.
 +#else
 +// #warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_limit.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_limit.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_limit.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_limit.h
 --- linux-2.6.31.2/include/linux/vs_limit.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_limit.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_limit.h      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,140 @@
 +#ifndef _VS_LIMIT_H
 +#define _VS_LIMIT_H
@@ -13189,9 +13368,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_limit.h linux-2.6.31.2-vs2
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_memory.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_memory.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_memory.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_memory.h
 --- linux-2.6.31.2/include/linux/vs_memory.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_memory.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_memory.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,159 @@
 +#ifndef _VS_MEMORY_H
 +#define _VS_MEMORY_H
@@ -13352,9 +13531,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_memory.h linux-2.6.31.2-vs
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_network.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_network.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_network.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_network.h
 --- linux-2.6.31.2/include/linux/vs_network.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_network.h    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_network.h    2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,169 @@
 +#ifndef _NX_VS_NETWORK_H
 +#define _NX_VS_NETWORK_H
@@ -13525,9 +13704,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_network.h linux-2.6.31.2-v
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_pid.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_pid.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_pid.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_pid.h
 --- linux-2.6.31.2/include/linux/vs_pid.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_pid.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_pid.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,95 @@
 +#ifndef _VS_PID_H
 +#define _VS_PID_H
@@ -13624,9 +13803,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_pid.h linux-2.6.31.2-vs2.3
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_sched.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_sched.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_sched.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_sched.h
 --- linux-2.6.31.2/include/linux/vs_sched.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_sched.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_sched.h      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,110 @@
 +#ifndef _VS_SCHED_H
 +#define _VS_SCHED_H
@@ -13738,9 +13917,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_sched.h linux-2.6.31.2-vs2
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_socket.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_socket.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_socket.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_socket.h
 --- linux-2.6.31.2/include/linux/vs_socket.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_socket.h     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_socket.h     2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,67 @@
 +#ifndef _VS_SOCKET_H
 +#define _VS_SOCKET_H
@@ -13809,9 +13988,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_socket.h linux-2.6.31.2-vs
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_tag.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_tag.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_tag.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_tag.h
 --- linux-2.6.31.2/include/linux/vs_tag.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_tag.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_tag.h        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,47 @@
 +#ifndef _VS_TAG_H
 +#define _VS_TAG_H
@@ -13860,9 +14039,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_tag.h linux-2.6.31.2-vs2.3
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_time.h linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_time.h
+diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_time.h linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_time.h
 --- linux-2.6.31.2/include/linux/vs_time.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/linux/vs_time.h       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/linux/vs_time.h       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,19 @@
 +#ifndef _VS_TIME_H
 +#define _VS_TIME_H
@@ -13883,9 +14062,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/linux/vs_time.h linux-2.6.31.2-vs2.
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-2.6.31.2/include/net/addrconf.h linux-2.6.31.2-vs2.3.0.36.15/include/net/addrconf.h
+diff -NurpP --minimal linux-2.6.31.2/include/net/addrconf.h linux-2.6.31.2-vs2.3.0.36.16/include/net/addrconf.h
 --- linux-2.6.31.2/include/net/addrconf.h      2009-06-11 17:13:18.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/net/addrconf.h        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/net/addrconf.h        2009-09-10 16:11:43.000000000 +0200
 @@ -84,7 +84,8 @@ extern int                   ipv6_dev_get_saddr(struct n
                                               struct net_device *dev,
                                               const struct in6_addr *daddr,
@@ -13896,9 +14075,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/net/addrconf.h linux-2.6.31.2-vs2.3
  extern int                    ipv6_get_lladdr(struct net_device *dev,
                                                struct in6_addr *addr,
                                                unsigned char banned_flags);
-diff -NurpP --minimal linux-2.6.31.2/include/net/af_unix.h linux-2.6.31.2-vs2.3.0.36.15/include/net/af_unix.h
+diff -NurpP --minimal linux-2.6.31.2/include/net/af_unix.h linux-2.6.31.2-vs2.3.0.36.16/include/net/af_unix.h
 --- linux-2.6.31.2/include/net/af_unix.h       2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/net/af_unix.h 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/net/af_unix.h 2009-09-10 16:11:43.000000000 +0200
 @@ -4,6 +4,7 @@
  #include <linux/socket.h>
  #include <linux/un.h>
@@ -13907,9 +14086,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/net/af_unix.h linux-2.6.31.2-vs2.3.
  #include <net/sock.h>
  
  extern void unix_inflight(struct file *fp);
-diff -NurpP --minimal linux-2.6.31.2/include/net/inet_timewait_sock.h linux-2.6.31.2-vs2.3.0.36.15/include/net/inet_timewait_sock.h
+diff -NurpP --minimal linux-2.6.31.2/include/net/inet_timewait_sock.h linux-2.6.31.2-vs2.3.0.36.16/include/net/inet_timewait_sock.h
 --- linux-2.6.31.2/include/net/inet_timewait_sock.h    2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/net/inet_timewait_sock.h      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/net/inet_timewait_sock.h      2009-09-10 16:11:43.000000000 +0200
 @@ -117,6 +117,10 @@ struct inet_timewait_sock {
  #define tw_hash                       __tw_common.skc_hash
  #define tw_prot                       __tw_common.skc_prot
@@ -13921,9 +14100,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/net/inet_timewait_sock.h linux-2.6.
        int                     tw_timeout;
        volatile unsigned char  tw_substate;
        /* 3 bits hole, try to pack */
-diff -NurpP --minimal linux-2.6.31.2/include/net/route.h linux-2.6.31.2-vs2.3.0.36.15/include/net/route.h
+diff -NurpP --minimal linux-2.6.31.2/include/net/route.h linux-2.6.31.2-vs2.3.0.36.16/include/net/route.h
 --- linux-2.6.31.2/include/net/route.h 2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/net/route.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/net/route.h   2009-09-10 16:11:43.000000000 +0200
 @@ -135,6 +135,9 @@ static inline void ip_rt_put(struct rtab
                dst_release(&rt->u.dst);
  }
@@ -13970,9 +14149,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/net/route.h linux-2.6.31.2-vs2.3.0.
                err = __ip_route_output_key(net, rp, &fl);
                if (err)
                        return err;
-diff -NurpP --minimal linux-2.6.31.2/include/net/sock.h linux-2.6.31.2-vs2.3.0.36.15/include/net/sock.h
+diff -NurpP --minimal linux-2.6.31.2/include/net/sock.h linux-2.6.31.2-vs2.3.0.36.16/include/net/sock.h
 --- linux-2.6.31.2/include/net/sock.h  2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/include/net/sock.h    2009-09-10 17:15:39.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/include/net/sock.h    2009-09-10 17:15:39.000000000 +0200
 @@ -139,6 +139,10 @@ struct sock_common {
  #ifdef CONFIG_NET_NS
        struct net              *skc_net;
@@ -13995,9 +14174,9 @@ diff -NurpP --minimal linux-2.6.31.2/include/net/sock.h linux-2.6.31.2-vs2.3.0.3
        kmemcheck_bitfield_begin(flags);
        unsigned char           sk_shutdown : 2,
                                sk_no_check : 2,
-diff -NurpP --minimal linux-2.6.31.2/init/Kconfig linux-2.6.31.2-vs2.3.0.36.15/init/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/init/Kconfig linux-2.6.31.2-vs2.3.0.36.16/init/Kconfig
 --- linux-2.6.31.2/init/Kconfig        2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/init/Kconfig  2009-10-06 04:38:47.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/init/Kconfig  2009-10-06 04:38:47.000000000 +0200
 @@ -492,6 +492,19 @@ config CGROUP_SCHED
  
  endchoice
@@ -14018,9 +14197,9 @@ diff -NurpP --minimal linux-2.6.31.2/init/Kconfig linux-2.6.31.2-vs2.3.0.36.15/i
  menuconfig CGROUPS
        boolean "Control Group support"
        help
-diff -NurpP --minimal linux-2.6.31.2/init/main.c linux-2.6.31.2-vs2.3.0.36.15/init/main.c
+diff -NurpP --minimal linux-2.6.31.2/init/main.c linux-2.6.31.2-vs2.3.0.36.16/init/main.c
 --- linux-2.6.31.2/init/main.c 2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/init/main.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/init/main.c   2009-09-10 16:11:43.000000000 +0200
 @@ -69,6 +69,7 @@
  #include <linux/kmemcheck.h>
  #include <linux/kmemtrace.h>
@@ -14046,9 +14225,9 @@ diff -NurpP --minimal linux-2.6.31.2/init/main.c linux-2.6.31.2-vs2.3.0.36.15/in
        ptr = alloc_bootmem_pages(size * nr_possible_cpus);
  
        for_each_possible_cpu(i) {
-diff -NurpP --minimal linux-2.6.31.2/ipc/mqueue.c linux-2.6.31.2-vs2.3.0.36.15/ipc/mqueue.c
+diff -NurpP --minimal linux-2.6.31.2/ipc/mqueue.c linux-2.6.31.2-vs2.3.0.36.16/ipc/mqueue.c
 --- linux-2.6.31.2/ipc/mqueue.c        2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/ipc/mqueue.c  2009-09-10 16:31:20.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/ipc/mqueue.c  2009-09-10 16:31:20.000000000 +0200
 @@ -33,6 +33,8 @@
  #include <linux/pid.h>
  #include <linux/ipc_namespace.h>
@@ -14130,9 +14309,9 @@ diff -NurpP --minimal linux-2.6.31.2/ipc/mqueue.c linux-2.6.31.2-vs2.3.0.36.15/i
                free_uid(user);
        }
        if (ipc_ns)
-diff -NurpP --minimal linux-2.6.31.2/ipc/msg.c linux-2.6.31.2-vs2.3.0.36.15/ipc/msg.c
+diff -NurpP --minimal linux-2.6.31.2/ipc/msg.c linux-2.6.31.2-vs2.3.0.36.16/ipc/msg.c
 --- linux-2.6.31.2/ipc/msg.c   2009-03-24 14:22:44.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/ipc/msg.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/ipc/msg.c     2009-09-10 16:11:43.000000000 +0200
 @@ -38,6 +38,7 @@
  #include <linux/rwsem.h>
  #include <linux/nsproxy.h>
@@ -14149,9 +14328,9 @@ diff -NurpP --minimal linux-2.6.31.2/ipc/msg.c linux-2.6.31.2-vs2.3.0.36.15/ipc/
  
        msq->q_perm.security = NULL;
        retval = security_msg_queue_alloc(msq);
-diff -NurpP --minimal linux-2.6.31.2/ipc/namespace.c linux-2.6.31.2-vs2.3.0.36.15/ipc/namespace.c
+diff -NurpP --minimal linux-2.6.31.2/ipc/namespace.c linux-2.6.31.2-vs2.3.0.36.16/ipc/namespace.c
 --- linux-2.6.31.2/ipc/namespace.c     2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/ipc/namespace.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/ipc/namespace.c       2009-09-10 16:11:43.000000000 +0200
 @@ -11,6 +11,8 @@
  #include <linux/slab.h>
  #include <linux/fs.h>
@@ -14161,9 +14340,9 @@ diff -NurpP --minimal linux-2.6.31.2/ipc/namespace.c linux-2.6.31.2-vs2.3.0.36.1
  
  #include "util.h"
  
-diff -NurpP --minimal linux-2.6.31.2/ipc/sem.c linux-2.6.31.2-vs2.3.0.36.15/ipc/sem.c
+diff -NurpP --minimal linux-2.6.31.2/ipc/sem.c linux-2.6.31.2-vs2.3.0.36.16/ipc/sem.c
 --- linux-2.6.31.2/ipc/sem.c   2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/ipc/sem.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/ipc/sem.c     2009-09-10 16:11:43.000000000 +0200
 @@ -83,6 +83,8 @@
  #include <linux/rwsem.h>
  #include <linux/nsproxy.h>
@@ -14201,9 +14380,9 @@ diff -NurpP --minimal linux-2.6.31.2/ipc/sem.c linux-2.6.31.2-vs2.3.0.36.15/ipc/
        security_sem_free(sma);
        ipc_rcu_putref(sma);
  }
-diff -NurpP --minimal linux-2.6.31.2/ipc/shm.c linux-2.6.31.2-vs2.3.0.36.15/ipc/shm.c
+diff -NurpP --minimal linux-2.6.31.2/ipc/shm.c linux-2.6.31.2-vs2.3.0.36.16/ipc/shm.c
 --- linux-2.6.31.2/ipc/shm.c   2009-10-05 23:29:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/ipc/shm.c     2009-09-29 17:02:58.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/ipc/shm.c     2009-09-29 17:02:58.000000000 +0200
 @@ -40,6 +40,8 @@
  #include <linux/mount.h>
  #include <linux/ipc_namespace.h>
@@ -14259,9 +14438,9 @@ diff -NurpP --minimal linux-2.6.31.2/ipc/shm.c linux-2.6.31.2-vs2.3.0.36.15/ipc/
        return error;
  
  no_id:
-diff -NurpP --minimal linux-2.6.31.2/kernel/capability.c linux-2.6.31.2-vs2.3.0.36.15/kernel/capability.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/capability.c linux-2.6.31.2-vs2.3.0.36.16/kernel/capability.c
 --- linux-2.6.31.2/kernel/capability.c 2009-03-24 14:22:44.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/capability.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/capability.c   2009-09-10 16:11:43.000000000 +0200
 @@ -14,6 +14,7 @@
  #include <linux/security.h>
  #include <linux/syscalls.h>
@@ -14297,9 +14476,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/capability.c linux-2.6.31.2-vs2.3.0.
        if (unlikely(!cap_valid(cap))) {
                printk(KERN_CRIT "capable() called with invalid cap=%u\n", cap);
                BUG();
-diff -NurpP --minimal linux-2.6.31.2/kernel/compat.c linux-2.6.31.2-vs2.3.0.36.15/kernel/compat.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/compat.c linux-2.6.31.2-vs2.3.0.36.16/kernel/compat.c
 --- linux-2.6.31.2/kernel/compat.c     2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/compat.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/compat.c       2009-09-10 16:11:43.000000000 +0200
 @@ -902,7 +902,7 @@ asmlinkage long compat_sys_time(compat_t
        compat_time_t i;
        struct timeval tv;
@@ -14318,9 +14497,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/compat.c linux-2.6.31.2-vs2.3.0.36.1
        return 0;
  }
  
-diff -NurpP --minimal linux-2.6.31.2/kernel/exit.c linux-2.6.31.2-vs2.3.0.36.15/kernel/exit.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/exit.c linux-2.6.31.2-vs2.3.0.36.16/kernel/exit.c
 --- linux-2.6.31.2/kernel/exit.c       2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/exit.c 2009-09-10 16:43:10.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/exit.c 2009-09-10 16:43:10.000000000 +0200
 @@ -48,6 +48,10 @@
  #include <linux/fs_struct.h>
  #include <linux/init_task.h>
@@ -14360,9 +14539,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/exit.c linux-2.6.31.2-vs2.3.0.36.15/
        BUG();
        /* Avoid "noreturn function does return".  */
        for (;;)
-diff -NurpP --minimal linux-2.6.31.2/kernel/fork.c linux-2.6.31.2-vs2.3.0.36.15/kernel/fork.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/fork.c linux-2.6.31.2-vs2.3.0.36.16/kernel/fork.c
 --- linux-2.6.31.2/kernel/fork.c       2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/fork.c 2009-09-10 16:42:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/fork.c 2009-09-10 16:42:52.000000000 +0200
 @@ -62,6 +62,10 @@
  #include <linux/fs_struct.h>
  #include <linux/magic.h>
@@ -14512,9 +14691,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/fork.c linux-2.6.31.2-vs2.3.0.36.15/
  bad_fork_free:
        free_task(p);
  fork_out:
-diff -NurpP --minimal linux-2.6.31.2/kernel/kthread.c linux-2.6.31.2-vs2.3.0.36.15/kernel/kthread.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/kthread.c linux-2.6.31.2-vs2.3.0.36.16/kernel/kthread.c
 --- linux-2.6.31.2/kernel/kthread.c    2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/kthread.c      2009-09-10 16:43:27.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/kthread.c      2009-09-10 16:43:27.000000000 +0200
 @@ -14,6 +14,7 @@
  #include <linux/file.h>
  #include <linux/module.h>
@@ -14523,9 +14702,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/kthread.c linux-2.6.31.2-vs2.3.0.36.
  #include <trace/events/sched.h>
  
  #define KTHREAD_NICE_LEVEL (-5)
-diff -NurpP --minimal linux-2.6.31.2/kernel/Makefile linux-2.6.31.2-vs2.3.0.36.15/kernel/Makefile
+diff -NurpP --minimal linux-2.6.31.2/kernel/Makefile linux-2.6.31.2-vs2.3.0.36.16/kernel/Makefile
 --- linux-2.6.31.2/kernel/Makefile     2009-09-10 15:26:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/Makefile       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/Makefile       2009-09-10 16:11:43.000000000 +0200
 @@ -23,6 +23,7 @@ CFLAGS_REMOVE_cgroup-debug.o = -pg
  CFLAGS_REMOVE_sched_clock.o = -pg
  endif
@@ -14534,9 +14713,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/Makefile linux-2.6.31.2-vs2.3.0.36.1
  obj-$(CONFIG_FREEZER) += freezer.o
  obj-$(CONFIG_PROFILING) += profile.o
  obj-$(CONFIG_SYSCTL_SYSCALL_CHECK) += sysctl_check.o
-diff -NurpP --minimal linux-2.6.31.2/kernel/nsproxy.c linux-2.6.31.2-vs2.3.0.36.15/kernel/nsproxy.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/nsproxy.c linux-2.6.31.2-vs2.3.0.36.16/kernel/nsproxy.c
 --- linux-2.6.31.2/kernel/nsproxy.c    2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/nsproxy.c      2009-09-10 17:37:49.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/nsproxy.c      2009-09-10 17:37:49.000000000 +0200
 @@ -19,6 +19,8 @@
  #include <linux/mnt_namespace.h>
  #include <linux/utsname.h>
@@ -14719,9 +14898,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/nsproxy.c linux-2.6.31.2-vs2.3.0.36.
                return -EPERM;
  
        *new_nsp = create_new_namespaces(unshare_flags, current,
-diff -NurpP --minimal linux-2.6.31.2/kernel/pid.c linux-2.6.31.2-vs2.3.0.36.15/kernel/pid.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/pid.c linux-2.6.31.2-vs2.3.0.36.16/kernel/pid.c
 --- linux-2.6.31.2/kernel/pid.c        2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/pid.c  2009-09-10 16:36:49.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/pid.c  2009-09-10 16:36:49.000000000 +0200
 @@ -36,6 +36,7 @@
  #include <linux/pid_namespace.h>
  #include <linux/init_task.h>
@@ -14779,9 +14958,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/pid.c linux-2.6.31.2-vs2.3.0.36.15/k
  pid_t pid_vnr(struct pid *pid)
  {
        return pid_nr_ns(pid, current->nsproxy->pid_ns);
-diff -NurpP --minimal linux-2.6.31.2/kernel/pid_namespace.c linux-2.6.31.2-vs2.3.0.36.15/kernel/pid_namespace.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/pid_namespace.c linux-2.6.31.2-vs2.3.0.36.16/kernel/pid_namespace.c
 --- linux-2.6.31.2/kernel/pid_namespace.c      2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/pid_namespace.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/pid_namespace.c        2009-09-10 16:11:43.000000000 +0200
 @@ -13,6 +13,7 @@
  #include <linux/syscalls.h>
  #include <linux/err.h>
@@ -14806,9 +14985,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/pid_namespace.c linux-2.6.31.2-vs2.3
        kmem_cache_free(pid_ns_cachep, ns);
  }
  
-diff -NurpP --minimal linux-2.6.31.2/kernel/posix-timers.c linux-2.6.31.2-vs2.3.0.36.15/kernel/posix-timers.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/posix-timers.c linux-2.6.31.2-vs2.3.0.36.16/kernel/posix-timers.c
 --- linux-2.6.31.2/kernel/posix-timers.c       2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/posix-timers.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/posix-timers.c 2009-09-10 16:11:43.000000000 +0200
 @@ -46,6 +46,7 @@
  #include <linux/wait.h>
  #include <linux/workqueue.h>
@@ -14844,9 +15023,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/posix-timers.c linux-2.6.31.2-vs2.3.
        /* If we failed to send the signal the timer stops. */
        return ret > 0;
  }
-diff -NurpP --minimal linux-2.6.31.2/kernel/printk.c linux-2.6.31.2-vs2.3.0.36.15/kernel/printk.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/printk.c linux-2.6.31.2-vs2.3.0.36.16/kernel/printk.c
 --- linux-2.6.31.2/kernel/printk.c     2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/printk.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/printk.c       2009-09-10 16:11:43.000000000 +0200
 @@ -33,6 +33,7 @@
  #include <linux/bootmem.h>
  #include <linux/syscalls.h>
@@ -14910,9 +15089,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/printk.c linux-2.6.31.2-vs2.3.0.36.1
                count = len;
                if (count > log_buf_len)
                        count = log_buf_len;
-diff -NurpP --minimal linux-2.6.31.2/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/kernel/ptrace.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.16/kernel/ptrace.c
 --- linux-2.6.31.2/kernel/ptrace.c     2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/ptrace.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/ptrace.c       2009-09-10 16:11:43.000000000 +0200
 @@ -22,6 +22,7 @@
  #include <linux/pid_namespace.h>
  #include <linux/syscalls.h>
@@ -14944,9 +15123,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.1
        if (request == PTRACE_ATTACH) {
                ret = ptrace_attach(child);
                /*
-diff -NurpP --minimal linux-2.6.31.2/kernel/sched.c linux-2.6.31.2-vs2.3.0.36.15/kernel/sched.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/sched.c linux-2.6.31.2-vs2.3.0.36.16/kernel/sched.c
 --- linux-2.6.31.2/kernel/sched.c      2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/sched.c        2009-10-06 04:39:14.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/sched.c        2009-10-06 04:39:14.000000000 +0200
 @@ -72,6 +72,8 @@
  #include <linux/debugfs.h>
  #include <linux/ctype.h>
@@ -15643,9 +15822,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/sched.c linux-2.6.31.2-vs2.3.0.36.15
  #endif
  #ifdef CONFIG_RT_GROUP_SCHED
        {
-diff -NurpP --minimal linux-2.6.31.2/kernel/sched_debug.c linux-2.6.31.2-vs2.3.0.36.15/kernel/sched_debug.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/sched_debug.c linux-2.6.31.2-vs2.3.0.36.16/kernel/sched_debug.c
 --- linux-2.6.31.2/kernel/sched_debug.c        2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/sched_debug.c  2009-10-06 04:39:26.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/sched_debug.c  2009-10-06 04:39:26.000000000 +0200
 @@ -80,6 +80,11 @@ static void print_cfs_group_stats(struct
        PN(se->wait_max);
        PN(se->wait_sum);
@@ -15702,9 +15881,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/sched_debug.c linux-2.6.31.2-vs2.3.0
        p->se.nr_forced_migrations              = 0;
        p->se.nr_forced2_migrations             = 0;
        p->se.nr_wakeups                        = 0;
-diff -NurpP --minimal linux-2.6.31.2/kernel/sched_fair.c linux-2.6.31.2-vs2.3.0.36.15/kernel/sched_fair.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/sched_fair.c linux-2.6.31.2-vs2.3.0.36.16/kernel/sched_fair.c
 --- linux-2.6.31.2/kernel/sched_fair.c 2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/sched_fair.c   2009-10-06 04:39:37.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/sched_fair.c   2009-10-06 04:39:37.000000000 +0200
 @@ -186,6 +186,286 @@ find_matching_se(struct sched_entity **s
        }
  }
@@ -16257,9 +16436,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/sched_fair.c linux-2.6.31.2-vs2.3.0.
                        continue;
  
                rem_load = (u64)rem_load_move * busiest_weight;
-diff -NurpP --minimal linux-2.6.31.2/kernel/sched_rt.c linux-2.6.31.2-vs2.3.0.36.15/kernel/sched_rt.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/sched_rt.c linux-2.6.31.2-vs2.3.0.36.16/kernel/sched_rt.c
 --- linux-2.6.31.2/kernel/sched_rt.c   2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/sched_rt.c     2009-10-06 04:39:02.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/sched_rt.c     2009-10-06 04:39:02.000000000 +0200
 @@ -222,18 +222,6 @@ static int rt_se_boosted(struct sched_rt
        return p->prio != p->normal_prio;
  }
@@ -16317,9 +16496,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/sched_rt.c linux-2.6.31.2-vs2.3.0.36
  }
  
  static void dequeue_task_rt(struct rq *rq, struct task_struct *p, int sleep)
-diff -NurpP --minimal linux-2.6.31.2/kernel/signal.c linux-2.6.31.2-vs2.3.0.36.15/kernel/signal.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/signal.c linux-2.6.31.2-vs2.3.0.36.16/kernel/signal.c
 --- linux-2.6.31.2/kernel/signal.c     2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/signal.c       2009-09-10 16:43:45.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/signal.c       2009-09-10 16:43:45.000000000 +0200
 @@ -27,6 +27,8 @@
  #include <linux/freezer.h>
  #include <linux/pid_namespace.h>
@@ -16408,9 +16587,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/signal.c linux-2.6.31.2-vs2.3.0.36.1
                if (sig_kernel_stop(signr)) {
                        /*
                         * The default action is to stop all threads in
-diff -NurpP --minimal linux-2.6.31.2/kernel/softirq.c linux-2.6.31.2-vs2.3.0.36.15/kernel/softirq.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/softirq.c linux-2.6.31.2-vs2.3.0.36.16/kernel/softirq.c
 --- linux-2.6.31.2/kernel/softirq.c    2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/softirq.c      2009-09-10 16:33:13.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/softirq.c      2009-09-10 16:33:13.000000000 +0200
 @@ -24,6 +24,7 @@
  #include <linux/ftrace.h>
  #include <linux/smp.h>
@@ -16419,9 +16598,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/softirq.c linux-2.6.31.2-vs2.3.0.36.
  
  #define CREATE_TRACE_POINTS
  #include <trace/events/irq.h>
-diff -NurpP --minimal linux-2.6.31.2/kernel/sys.c linux-2.6.31.2-vs2.3.0.36.15/kernel/sys.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/sys.c linux-2.6.31.2-vs2.3.0.36.16/kernel/sys.c
 --- linux-2.6.31.2/kernel/sys.c        2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/sys.c  2009-10-06 03:52:09.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/sys.c  2009-10-06 03:52:09.000000000 +0200
 @@ -41,6 +41,7 @@
  #include <linux/syscalls.h>
  #include <linux/kprobes.h>
@@ -16507,9 +16686,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/sys.c linux-2.6.31.2-vs2.3.0.36.15/k
                return -EPERM;
        if (resource == RLIMIT_NOFILE && new_rlim.rlim_max > sysctl_nr_open)
                return -EPERM;
-diff -NurpP --minimal linux-2.6.31.2/kernel/sysctl.c linux-2.6.31.2-vs2.3.0.36.15/kernel/sysctl.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/sysctl.c linux-2.6.31.2-vs2.3.0.36.16/kernel/sysctl.c
 --- linux-2.6.31.2/kernel/sysctl.c     2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/sysctl.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/sysctl.c       2009-09-10 16:11:43.000000000 +0200
 @@ -119,6 +119,7 @@ static int ngroups_max = NGROUPS_MAX;
  extern char modprobe_path[];
  extern int modules_disabled;
@@ -16534,9 +16713,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/sysctl.c linux-2.6.31.2-vs2.3.0.36.1
  #ifdef CONFIG_CHR_DEV_SG
        {
                .ctl_name       = KERN_SG_BIG_BUFF,
-diff -NurpP --minimal linux-2.6.31.2/kernel/sysctl_check.c linux-2.6.31.2-vs2.3.0.36.15/kernel/sysctl_check.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/sysctl_check.c linux-2.6.31.2-vs2.3.0.36.16/kernel/sysctl_check.c
 --- linux-2.6.31.2/kernel/sysctl_check.c       2009-06-11 17:13:26.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/sysctl_check.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/sysctl_check.c 2009-09-10 16:11:43.000000000 +0200
 @@ -39,6 +39,7 @@ static const struct trans_ctl_table tran
  
        { KERN_PANIC,                   "panic" },
@@ -16576,9 +16755,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/sysctl_check.c linux-2.6.31.2-vs2.3.
        {}
  };
  
-diff -NurpP --minimal linux-2.6.31.2/kernel/time.c linux-2.6.31.2-vs2.3.0.36.15/kernel/time.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/time.c linux-2.6.31.2-vs2.3.0.36.16/kernel/time.c
 --- linux-2.6.31.2/kernel/time.c       2009-03-24 14:22:45.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/time.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/time.c 2009-09-10 16:11:43.000000000 +0200
 @@ -63,6 +63,7 @@ EXPORT_SYMBOL(sys_tz);
  SYSCALL_DEFINE1(time, time_t __user *, tloc)
  {
@@ -16623,9 +16802,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/time.c linux-2.6.31.2-vs2.3.0.36.15/
        tv->tv_sec = x.tv_sec;
        tv->tv_nsec = x.tv_usec * NSEC_PER_USEC;
  }
-diff -NurpP --minimal linux-2.6.31.2/kernel/timer.c linux-2.6.31.2-vs2.3.0.36.15/kernel/timer.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/timer.c linux-2.6.31.2-vs2.3.0.36.16/kernel/timer.c
 --- linux-2.6.31.2/kernel/timer.c      2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/timer.c        2009-10-06 04:09:06.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/timer.c        2009-10-06 04:09:06.000000000 +0200
 @@ -39,6 +39,10 @@
  #include <linux/kallsyms.h>
  #include <linux/perf_counter.h>
@@ -16675,9 +16854,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/timer.c linux-2.6.31.2-vs2.3.0.36.15
  SYSCALL_DEFINE0(getuid)
  {
        /* Only we change this so SMP safe */
-diff -NurpP --minimal linux-2.6.31.2/kernel/user.c linux-2.6.31.2-vs2.3.0.36.15/kernel/user.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/user.c linux-2.6.31.2-vs2.3.0.36.16/kernel/user.c
 --- linux-2.6.31.2/kernel/user.c       2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/user.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/user.c 2009-09-10 16:11:43.000000000 +0200
 @@ -251,10 +251,10 @@ static struct kobj_type uids_ktype = {
   *
   * See Documentation/scheduler/sched-design-CFS.txt for ramifications.
@@ -16719,9 +16898,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/user.c linux-2.6.31.2-vs2.3.0.36.15/
                        goto out_destoy_sched;
  
                /*
-diff -NurpP --minimal linux-2.6.31.2/kernel/user_namespace.c linux-2.6.31.2-vs2.3.0.36.15/kernel/user_namespace.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/user_namespace.c linux-2.6.31.2-vs2.3.0.36.16/kernel/user_namespace.c
 --- linux-2.6.31.2/kernel/user_namespace.c     2009-03-24 14:22:45.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/user_namespace.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/user_namespace.c       2009-09-10 16:11:43.000000000 +0200
 @@ -10,6 +10,7 @@
  #include <linux/slab.h>
  #include <linux/user_namespace.h>
@@ -16747,9 +16926,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/user_namespace.c linux-2.6.31.2-vs2.
        INIT_WORK(&ns->destroyer, free_user_ns_work);
        schedule_work(&ns->destroyer);
  }
-diff -NurpP --minimal linux-2.6.31.2/kernel/utsname.c linux-2.6.31.2-vs2.3.0.36.15/kernel/utsname.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/utsname.c linux-2.6.31.2-vs2.3.0.36.16/kernel/utsname.c
 --- linux-2.6.31.2/kernel/utsname.c    2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/utsname.c      2009-09-10 16:44:37.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/utsname.c      2009-09-10 16:44:37.000000000 +0200
 @@ -14,14 +14,17 @@
  #include <linux/utsname.h>
  #include <linux/err.h>
@@ -16776,9 +16955,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/utsname.c linux-2.6.31.2-vs2.3.0.36.
 +      atomic_dec(&vs_global_uts_ns);
        kfree(ns);
  }
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cacct.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cacct.c
 --- linux-2.6.31.2/kernel/vserver/cacct.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cacct.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cacct.c        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,42 @@
 +/*
 + *  linux/kernel/vserver/cacct.c
@@ -16822,9 +17001,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct.c linux-2.6.31.2-vs2.3
 +      return 0;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct_init.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cacct_init.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct_init.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cacct_init.h
 --- linux-2.6.31.2/kernel/vserver/cacct_init.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cacct_init.h   2009-09-29 17:15:22.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cacct_init.h   2009-09-29 17:15:22.000000000 +0200
 @@ -0,0 +1,25 @@
 +
 +
@@ -16851,9 +17030,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct_init.h linux-2.6.31.2-
 +      return;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct_proc.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cacct_proc.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct_proc.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cacct_proc.h
 --- linux-2.6.31.2/kernel/vserver/cacct_proc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cacct_proc.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cacct_proc.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,53 @@
 +#ifndef _VX_CACCT_PROC_H
 +#define _VX_CACCT_PROC_H
@@ -16908,9 +17087,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cacct_proc.h linux-2.6.31.2-
 +}
 +
 +#endif        /* _VX_CACCT_PROC_H */
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/context.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/context.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/context.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/context.c
 --- linux-2.6.31.2/kernel/vserver/context.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/context.c      2009-09-30 02:15:39.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/context.c      2009-09-30 02:15:39.000000000 +0200
 @@ -0,0 +1,1032 @@
 +/*
 + *  linux/kernel/vserver/context.c
@@ -17944,9 +18123,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/context.c linux-2.6.31.2-vs2
 +
 +EXPORT_SYMBOL_GPL(free_vx_info);
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cvirt.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cvirt.c
 --- linux-2.6.31.2/kernel/vserver/cvirt.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cvirt.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cvirt.c        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,300 @@
 +/*
 + *  linux/kernel/vserver/cvirt.c
@@ -18248,9 +18427,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt.c linux-2.6.31.2-vs2.3
 +
 +#endif
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt_init.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cvirt_init.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt_init.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cvirt_init.h
 --- linux-2.6.31.2/kernel/vserver/cvirt_init.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cvirt_init.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cvirt_init.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,69 @@
 +
 +
@@ -18321,9 +18500,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt_init.h linux-2.6.31.2-
 +      return;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt_proc.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cvirt_proc.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt_proc.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cvirt_proc.h
 --- linux-2.6.31.2/kernel/vserver/cvirt_proc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/cvirt_proc.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/cvirt_proc.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,135 @@
 +#ifndef _VX_CVIRT_PROC_H
 +#define _VX_CVIRT_PROC_H
@@ -18460,9 +18639,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/cvirt_proc.h linux-2.6.31.2-
 +}
 +
 +#endif        /* _VX_CVIRT_PROC_H */
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/debug.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/debug.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/debug.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/debug.c
 --- linux-2.6.31.2/kernel/vserver/debug.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/debug.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/debug.c        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,32 @@
 +/*
 + *  kernel/vserver/debug.c
@@ -18496,9 +18675,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/debug.c linux-2.6.31.2-vs2.3
 +
 +EXPORT_SYMBOL_GPL(dump_vx_info);
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/device.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/device.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/device.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/device.c
 --- linux-2.6.31.2/kernel/vserver/device.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/device.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/device.c       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,443 @@
 +/*
 + *  linux/kernel/vserver/device.c
@@ -18943,9 +19122,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/device.c linux-2.6.31.2-vs2.
 +#endif        /* CONFIG_COMPAT */
 +
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/dlimit.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/dlimit.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/dlimit.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/dlimit.c
 --- linux-2.6.31.2/kernel/vserver/dlimit.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/dlimit.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/dlimit.c       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,522 @@
 +/*
 + *  linux/kernel/vserver/dlimit.c
@@ -19469,9 +19648,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/dlimit.c linux-2.6.31.2-vs2.
 +EXPORT_SYMBOL_GPL(locate_dl_info);
 +EXPORT_SYMBOL_GPL(rcu_free_dl_info);
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/helper.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/helper.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/helper.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/helper.c
 --- linux-2.6.31.2/kernel/vserver/helper.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/helper.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/helper.c       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,199 @@
 +/*
 + *  linux/kernel/vserver/helper.c
@@ -19672,9 +19851,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/helper.c linux-2.6.31.2-vs2.
 +      return do_vshelper(vshelper_path, argv, envp, 1);
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/history.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/history.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/history.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/history.c
 --- linux-2.6.31.2/kernel/vserver/history.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/history.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/history.c      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,258 @@
 +/*
 + *  kernel/vserver/history.c
@@ -19934,9 +20113,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/history.c linux-2.6.31.2-vs2
 +
 +#endif        /* CONFIG_COMPAT */
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/inet.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/inet.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/inet.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/inet.c
 --- linux-2.6.31.2/kernel/vserver/inet.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/inet.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/inet.c 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,225 @@
 +
 +#include <linux/in.h>
@@ -20163,9 +20342,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/inet.c linux-2.6.31.2-vs2.3.
 +
 +EXPORT_SYMBOL_GPL(ip_v4_find_src);
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/init.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/init.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/init.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/init.c
 --- linux-2.6.31.2/kernel/vserver/init.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/init.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/init.c 2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,45 @@
 +/*
 + *  linux/kernel/init.c
@@ -20212,10 +20391,10 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/init.c linux-2.6.31.2-vs2.3.
 +module_init(init_vserver);
 +module_exit(exit_vserver);
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/inode.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/inode.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/inode.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/inode.c
 --- linux-2.6.31.2/kernel/vserver/inode.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/inode.c        2009-09-10 16:11:43.000000000 +0200
-@@ -0,0 +1,422 @@
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/inode.c        2009-10-07 00:04:08.000000000 +0200
+@@ -0,0 +1,431 @@
 +/*
 + *  linux/kernel/vserver/inode.c
 + *
@@ -20400,26 +20579,35 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/inode.c linux-2.6.31.2-vs2.3
 +      }
 +
 +      if (*mask & (IATTR_BARRIER | IATTR_IXUNLINK | IATTR_IMMUTABLE)) {
++              int iflags = in->i_flags;
++              int vflags = in->i_vflags;
++
 +              if (*mask & IATTR_IMMUTABLE) {
 +                      if (*flags & IATTR_IMMUTABLE)
-+                              in->i_flags |= S_IMMUTABLE;
++                              iflags |= S_IMMUTABLE;
 +                      else
-+                              in->i_flags &= ~S_IMMUTABLE;
++                              iflags &= ~S_IMMUTABLE;
 +              }
 +              if (*mask & IATTR_IXUNLINK) {
 +                      if (*flags & IATTR_IXUNLINK)
-+                              in->i_flags |= S_IXUNLINK;
++                              iflags |= S_IXUNLINK;
++                      else
++                              iflags &= ~S_IXUNLINK;
++              }
++              if (S_ISREG(in->i_mode) && (*mask & IATTR_COW)) {
++                      if (*flags & IATTR_COW)
++                              vflags |= V_COW;
 +                      else
-+                              in->i_flags &= ~S_IXUNLINK;
++                              vflags &= ~V_COW;
 +              }
 +              if (S_ISDIR(in->i_mode) && (*mask & IATTR_BARRIER)) {
 +                      if (*flags & IATTR_BARRIER)
-+                              in->i_vflags |= V_BARRIER;
++                              vflags |= V_BARRIER;
 +                      else
-+                              in->i_vflags &= ~V_BARRIER;
++                              vflags &= ~V_BARRIER;
 +              }
 +              if (in->i_op && in->i_op->sync_flags) {
-+                      error = in->i_op->sync_flags(in);
++                      error = in->i_op->sync_flags(in, iflags, vflags);
 +                      if (error)
 +                              goto out;
 +              }
@@ -20638,9 +20826,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/inode.c linux-2.6.31.2-vs2.3
 +
 +#endif        /* CONFIG_PROPAGATE */
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/Kconfig linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/Kconfig linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/Kconfig
 --- linux-2.6.31.2/kernel/vserver/Kconfig      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/Kconfig        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/Kconfig        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,251 @@
 +#
 +# Linux VServer configuration
@@ -20893,9 +21081,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/Kconfig linux-2.6.31.2-vs2.3
 +      default y
 +      select SECURITY_CAPABILITIES
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/limit.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/limit.c
 --- linux-2.6.31.2/kernel/vserver/limit.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/limit.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/limit.c        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,333 @@
 +/*
 + *  linux/kernel/vserver/limit.c
@@ -21230,9 +21418,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit.c linux-2.6.31.2-vs2.3
 +      return points;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit_init.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/limit_init.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit_init.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/limit_init.h
 --- linux-2.6.31.2/kernel/vserver/limit_init.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/limit_init.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/limit_init.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,31 @@
 +
 +
@@ -21265,9 +21453,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit_init.h linux-2.6.31.2-
 +      }
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit_proc.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/limit_proc.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit_proc.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/limit_proc.h
 --- linux-2.6.31.2/kernel/vserver/limit_proc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/limit_proc.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/limit_proc.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,57 @@
 +#ifndef _VX_LIMIT_PROC_H
 +#define _VX_LIMIT_PROC_H
@@ -21326,9 +21514,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/limit_proc.h linux-2.6.31.2-
 +#endif        /* _VX_LIMIT_PROC_H */
 +
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/Makefile linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/Makefile
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/Makefile linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/Makefile
 --- linux-2.6.31.2/kernel/vserver/Makefile     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/Makefile       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/Makefile       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,18 @@
 +#
 +# Makefile for the Linux vserver routines.
@@ -21348,9 +21536,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/Makefile linux-2.6.31.2-vs2.
 +vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o
 +vserver-$(CONFIG_VSERVER_DEVICE) += device.o
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/monitor.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/monitor.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/monitor.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/monitor.c
 --- linux-2.6.31.2/kernel/vserver/monitor.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/monitor.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/monitor.c      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,138 @@
 +/*
 + *  kernel/vserver/monitor.c
@@ -21490,9 +21678,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/monitor.c linux-2.6.31.2-vs2
 +
 +#endif        /* CONFIG_COMPAT */
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/network.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/network.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/network.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/network.c
 --- linux-2.6.31.2/kernel/vserver/network.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/network.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/network.c      2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,864 @@
 +/*
 + *  linux/kernel/vserver/network.c
@@ -22358,9 +22546,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/network.c linux-2.6.31.2-vs2
 +EXPORT_SYMBOL_GPL(free_nx_info);
 +EXPORT_SYMBOL_GPL(unhash_nx_info);
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/proc.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/proc.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/proc.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/proc.c
 --- linux-2.6.31.2/kernel/vserver/proc.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/proc.c 2009-09-10 17:45:54.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/proc.c 2009-09-10 17:45:54.000000000 +0200
 @@ -0,0 +1,1098 @@
 +/*
 + *  linux/kernel/vserver/proc.c
@@ -23460,9 +23648,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/proc.c linux-2.6.31.2-vs2.3.
 +      return buffer - orig;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sched.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sched.c
 --- linux-2.6.31.2/kernel/vserver/sched.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sched.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sched.c        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,414 @@
 +/*
 + *  linux/kernel/vserver/sched.c
@@ -23878,9 +24066,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched.c linux-2.6.31.2-vs2.3
 +      return 0;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched_init.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sched_init.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched_init.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sched_init.h
 --- linux-2.6.31.2/kernel/vserver/sched_init.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sched_init.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sched_init.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,50 @@
 +
 +static inline void vx_info_init_sched(struct _vx_sched *sched)
@@ -23932,9 +24120,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched_init.h linux-2.6.31.2-
 +{
 +      return;
 +}
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched_proc.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sched_proc.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched_proc.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sched_proc.h
 --- linux-2.6.31.2/kernel/vserver/sched_proc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sched_proc.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sched_proc.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,57 @@
 +#ifndef _VX_SCHED_PROC_H
 +#define _VX_SCHED_PROC_H
@@ -23993,9 +24181,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sched_proc.h linux-2.6.31.2-
 +}
 +
 +#endif        /* _VX_SCHED_PROC_H */
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/signal.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/signal.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/signal.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/signal.c
 --- linux-2.6.31.2/kernel/vserver/signal.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/signal.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/signal.c       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,132 @@
 +/*
 + *  linux/kernel/vserver/signal.c
@@ -24129,9 +24317,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/signal.c linux-2.6.31.2-vs2.
 +      return ret;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/space.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/space.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/space.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/space.c
 --- linux-2.6.31.2/kernel/vserver/space.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/space.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/space.c        2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,375 @@
 +/*
 + *  linux/kernel/vserver/space.c
@@ -24508,9 +24696,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/space.c linux-2.6.31.2-vs2.3
 +      return 0;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/switch.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/switch.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/switch.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/switch.c
 --- linux-2.6.31.2/kernel/vserver/switch.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/switch.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/switch.c       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,546 @@
 +/*
 + *  linux/kernel/vserver/switch.c
@@ -25058,9 +25246,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/switch.c linux-2.6.31.2-vs2.
 +}
 +
 +#endif        /* CONFIG_COMPAT */
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sysctl.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sysctl.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sysctl.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sysctl.c
 --- linux-2.6.31.2/kernel/vserver/sysctl.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/sysctl.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/sysctl.c       2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,244 @@
 +/*
 + *  kernel/vserver/sysctl.c
@@ -25306,9 +25494,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/sysctl.c linux-2.6.31.2-vs2.
 +EXPORT_SYMBOL_GPL(vx_debug_space);
 +EXPORT_SYMBOL_GPL(vx_debug_misc);
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/tag.c linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/tag.c
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/tag.c linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/tag.c
 --- linux-2.6.31.2/kernel/vserver/tag.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/tag.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/tag.c  2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,63 @@
 +/*
 + *  linux/kernel/vserver/tag.c
@@ -25373,9 +25561,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/tag.c linux-2.6.31.2-vs2.3.0
 +}
 +
 +
-diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/vci_config.h linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/vci_config.h
+diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/vci_config.h linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/vci_config.h
 --- linux-2.6.31.2/kernel/vserver/vci_config.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/kernel/vserver/vci_config.h   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/kernel/vserver/vci_config.h   2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,81 @@
 +
 +/*  interface version */
@@ -25458,9 +25646,9 @@ diff -NurpP --minimal linux-2.6.31.2/kernel/vserver/vci_config.h linux-2.6.31.2-
 +      0;
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/mm/filemap_xip.c linux-2.6.31.2-vs2.3.0.36.15/mm/filemap_xip.c
+diff -NurpP --minimal linux-2.6.31.2/mm/filemap_xip.c linux-2.6.31.2-vs2.3.0.36.16/mm/filemap_xip.c
 --- linux-2.6.31.2/mm/filemap_xip.c    2009-06-11 17:13:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/filemap_xip.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/filemap_xip.c      2009-09-10 16:11:43.000000000 +0200
 @@ -17,6 +17,7 @@
  #include <linux/sched.h>
  #include <linux/seqlock.h>
@@ -25469,9 +25657,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/filemap_xip.c linux-2.6.31.2-vs2.3.0.36.
  #include <asm/tlbflush.h>
  #include <asm/io.h>
  
-diff -NurpP --minimal linux-2.6.31.2/mm/fremap.c linux-2.6.31.2-vs2.3.0.36.15/mm/fremap.c
+diff -NurpP --minimal linux-2.6.31.2/mm/fremap.c linux-2.6.31.2-vs2.3.0.36.16/mm/fremap.c
 --- linux-2.6.31.2/mm/fremap.c 2009-03-24 14:22:45.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/fremap.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/fremap.c   2009-09-10 16:11:43.000000000 +0200
 @@ -16,6 +16,7 @@
  #include <linux/module.h>
  #include <linux/syscalls.h>
@@ -25480,9 +25668,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/fremap.c linux-2.6.31.2-vs2.3.0.36.15/mm
  
  #include <asm/mmu_context.h>
  #include <asm/cacheflush.h>
-diff -NurpP --minimal linux-2.6.31.2/mm/hugetlb.c linux-2.6.31.2-vs2.3.0.36.15/mm/hugetlb.c
+diff -NurpP --minimal linux-2.6.31.2/mm/hugetlb.c linux-2.6.31.2-vs2.3.0.36.16/mm/hugetlb.c
 --- linux-2.6.31.2/mm/hugetlb.c        2009-10-05 23:29:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/hugetlb.c  2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/hugetlb.c  2009-10-05 23:35:52.000000000 +0200
 @@ -24,6 +24,7 @@
  #include <asm/io.h>
  
@@ -25491,9 +25679,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/hugetlb.c linux-2.6.31.2-vs2.3.0.36.15/m
  #include "internal.h"
  
  const unsigned long hugetlb_zero = 0, hugetlb_infinity = ~0UL;
-diff -NurpP --minimal linux-2.6.31.2/mm/memory.c linux-2.6.31.2-vs2.3.0.36.15/mm/memory.c
+diff -NurpP --minimal linux-2.6.31.2/mm/memory.c linux-2.6.31.2-vs2.3.0.36.16/mm/memory.c
 --- linux-2.6.31.2/mm/memory.c 2009-10-05 23:29:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/memory.c   2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/memory.c   2009-10-05 23:35:52.000000000 +0200
 @@ -55,6 +55,7 @@
  #include <linux/kallsyms.h>
  #include <linux/swapops.h>
@@ -25556,9 +25744,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/memory.c linux-2.6.31.2-vs2.3.0.36.15/mm
  }
  
  /*
-diff -NurpP --minimal linux-2.6.31.2/mm/mlock.c linux-2.6.31.2-vs2.3.0.36.15/mm/mlock.c
+diff -NurpP --minimal linux-2.6.31.2/mm/mlock.c linux-2.6.31.2-vs2.3.0.36.16/mm/mlock.c
 --- linux-2.6.31.2/mm/mlock.c  2009-10-05 23:29:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/mlock.c    2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/mlock.c    2009-10-05 23:35:52.000000000 +0200
 @@ -18,6 +18,7 @@
  #include <linux/rmap.h>
  #include <linux/mmzone.h>
@@ -25641,9 +25829,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/mlock.c linux-2.6.31.2-vs2.3.0.36.15/mm/
  
        up_write(&mm->mmap_sem);
  }
-diff -NurpP --minimal linux-2.6.31.2/mm/mmap.c linux-2.6.31.2-vs2.3.0.36.15/mm/mmap.c
+diff -NurpP --minimal linux-2.6.31.2/mm/mmap.c linux-2.6.31.2-vs2.3.0.36.16/mm/mmap.c
 --- linux-2.6.31.2/mm/mmap.c   2009-10-05 23:29:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/mmap.c     2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/mmap.c     2009-10-05 23:35:52.000000000 +0200
 @@ -1222,7 +1222,8 @@ munmap_back:
  out:
        perf_counter_mmap(vma);
@@ -25771,9 +25959,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/mmap.c linux-2.6.31.2-vs2.3.0.36.15/mm/m
  
        perf_counter_mmap(vma);
  
-diff -NurpP --minimal linux-2.6.31.2/mm/mremap.c linux-2.6.31.2-vs2.3.0.36.15/mm/mremap.c
+diff -NurpP --minimal linux-2.6.31.2/mm/mremap.c linux-2.6.31.2-vs2.3.0.36.16/mm/mremap.c
 --- linux-2.6.31.2/mm/mremap.c 2009-03-24 14:22:45.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/mremap.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/mremap.c   2009-09-10 16:11:43.000000000 +0200
 @@ -19,6 +19,7 @@
  #include <linux/security.h>
  #include <linux/syscalls.h>
@@ -25825,9 +26013,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/mremap.c linux-2.6.31.2-vs2.3.0.36.15/mm
                                mlock_vma_pages_range(vma, addr + old_len,
                                                   addr + new_len);
                        }
-diff -NurpP --minimal linux-2.6.31.2/mm/nommu.c linux-2.6.31.2-vs2.3.0.36.15/mm/nommu.c
+diff -NurpP --minimal linux-2.6.31.2/mm/nommu.c linux-2.6.31.2-vs2.3.0.36.16/mm/nommu.c
 --- linux-2.6.31.2/mm/nommu.c  2009-10-05 23:29:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/nommu.c    2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/nommu.c    2009-10-05 23:35:52.000000000 +0200
 @@ -1368,7 +1368,7 @@ unsigned long do_mmap_pgoff(struct file 
        /* okay... we have a mapping; now we have to register it */
        result = vma->vm_start;
@@ -25846,9 +26034,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/nommu.c linux-2.6.31.2-vs2.3.0.36.15/mm/
  
        while ((vma = mm->mmap)) {
                mm->mmap = vma->vm_next;
-diff -NurpP --minimal linux-2.6.31.2/mm/oom_kill.c linux-2.6.31.2-vs2.3.0.36.15/mm/oom_kill.c
+diff -NurpP --minimal linux-2.6.31.2/mm/oom_kill.c linux-2.6.31.2-vs2.3.0.36.16/mm/oom_kill.c
 --- linux-2.6.31.2/mm/oom_kill.c       2009-06-11 17:13:27.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/oom_kill.c 2009-09-30 02:30:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/oom_kill.c 2009-09-30 02:30:43.000000000 +0200
 @@ -27,6 +27,8 @@
  #include <linux/notifier.h>
  #include <linux/memcontrol.h>
@@ -25923,9 +26111,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/oom_kill.c linux-2.6.31.2-vs2.3.0.36.15/
  
        /* Try to kill a child first */
        list_for_each_entry(c, &p->children, sibling) {
-diff -NurpP --minimal linux-2.6.31.2/mm/page_alloc.c linux-2.6.31.2-vs2.3.0.36.15/mm/page_alloc.c
+diff -NurpP --minimal linux-2.6.31.2/mm/page_alloc.c linux-2.6.31.2-vs2.3.0.36.16/mm/page_alloc.c
 --- linux-2.6.31.2/mm/page_alloc.c     2009-10-05 23:29:04.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/page_alloc.c       2009-10-05 23:35:52.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/page_alloc.c       2009-10-05 23:35:52.000000000 +0200
 @@ -48,6 +48,8 @@
  #include <linux/page_cgroup.h>
  #include <linux/debugobjects.h>
@@ -25955,9 +26143,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/page_alloc.c linux-2.6.31.2-vs2.3.0.36.1
  }
  #endif
  
-diff -NurpP --minimal linux-2.6.31.2/mm/rmap.c linux-2.6.31.2-vs2.3.0.36.15/mm/rmap.c
+diff -NurpP --minimal linux-2.6.31.2/mm/rmap.c linux-2.6.31.2-vs2.3.0.36.16/mm/rmap.c
 --- linux-2.6.31.2/mm/rmap.c   2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/rmap.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/rmap.c     2009-09-10 16:11:43.000000000 +0200
 @@ -50,6 +50,7 @@
  #include <linux/memcontrol.h>
  #include <linux/mmu_notifier.h>
@@ -25966,9 +26154,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/rmap.c linux-2.6.31.2-vs2.3.0.36.15/mm/r
  
  #include <asm/tlbflush.h>
  
-diff -NurpP --minimal linux-2.6.31.2/mm/shmem.c linux-2.6.31.2-vs2.3.0.36.15/mm/shmem.c
+diff -NurpP --minimal linux-2.6.31.2/mm/shmem.c linux-2.6.31.2-vs2.3.0.36.16/mm/shmem.c
 --- linux-2.6.31.2/mm/shmem.c  2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/shmem.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/shmem.c    2009-09-10 16:11:43.000000000 +0200
 @@ -1777,7 +1777,7 @@ static int shmem_statfs(struct dentry *d
  {
        struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb);
@@ -25987,9 +26175,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/shmem.c linux-2.6.31.2-vs2.3.0.36.15/mm/
        sb->s_op = &shmem_ops;
        sb->s_time_gran = 1;
  #ifdef CONFIG_TMPFS_POSIX_ACL
-diff -NurpP --minimal linux-2.6.31.2/mm/slab.c linux-2.6.31.2-vs2.3.0.36.15/mm/slab.c
+diff -NurpP --minimal linux-2.6.31.2/mm/slab.c linux-2.6.31.2-vs2.3.0.36.16/mm/slab.c
 --- linux-2.6.31.2/mm/slab.c   2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/slab.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/slab.c     2009-09-10 16:11:43.000000000 +0200
 @@ -431,6 +431,8 @@ static void kmem_list3_init(struct kmem_
  #define STATS_INC_FREEMISS(x) do { } while (0)
  #endif
@@ -26023,9 +26211,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/slab.c linux-2.6.31.2-vs2.3.0.36.15/mm/s
  
        kmemcheck_slab_free(cachep, objp, obj_size(cachep));
  
-diff -NurpP --minimal linux-2.6.31.2/mm/slab_vs.h linux-2.6.31.2-vs2.3.0.36.15/mm/slab_vs.h
+diff -NurpP --minimal linux-2.6.31.2/mm/slab_vs.h linux-2.6.31.2-vs2.3.0.36.16/mm/slab_vs.h
 --- linux-2.6.31.2/mm/slab_vs.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/slab_vs.h  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/slab_vs.h  2009-09-10 16:11:43.000000000 +0200
 @@ -0,0 +1,27 @@
 +
 +#include <linux/vserver/context.h>
@@ -26054,9 +26242,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/slab_vs.h linux-2.6.31.2-vs2.3.0.36.15/m
 +      atomic_sub(cachep->buffer_size, &current->vx_info->cacct.slab[what]);
 +}
 +
-diff -NurpP --minimal linux-2.6.31.2/mm/swapfile.c linux-2.6.31.2-vs2.3.0.36.15/mm/swapfile.c
+diff -NurpP --minimal linux-2.6.31.2/mm/swapfile.c linux-2.6.31.2-vs2.3.0.36.16/mm/swapfile.c
 --- linux-2.6.31.2/mm/swapfile.c       2009-09-10 15:26:28.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/mm/swapfile.c 2009-10-02 04:53:33.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/mm/swapfile.c 2009-10-02 04:53:33.000000000 +0200
 @@ -34,6 +34,8 @@
  #include <asm/tlbflush.h>
  #include <linux/swapops.h>
@@ -26101,9 +26289,9 @@ diff -NurpP --minimal linux-2.6.31.2/mm/swapfile.c linux-2.6.31.2-vs2.3.0.36.15/
  }
  
  /*
-diff -NurpP --minimal linux-2.6.31.2/net/core/dev.c linux-2.6.31.2-vs2.3.0.36.15/net/core/dev.c
+diff -NurpP --minimal linux-2.6.31.2/net/core/dev.c linux-2.6.31.2-vs2.3.0.36.16/net/core/dev.c
 --- linux-2.6.31.2/net/core/dev.c      2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/core/dev.c        2009-09-10 17:16:15.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/core/dev.c        2009-09-10 17:16:15.000000000 +0200
 @@ -126,6 +126,7 @@
  #include <linux/in.h>
  #include <linux/jhash.h>
@@ -26156,9 +26344,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/core/dev.c linux-2.6.31.2-vs2.3.0.36.15
        /* Actually switch the network namespace */
        dev_net_set(dev, net);
  
-diff -NurpP --minimal linux-2.6.31.2/net/core/net-sysfs.c linux-2.6.31.2-vs2.3.0.36.15/net/core/net-sysfs.c
+diff -NurpP --minimal linux-2.6.31.2/net/core/net-sysfs.c linux-2.6.31.2-vs2.3.0.36.16/net/core/net-sysfs.c
 --- linux-2.6.31.2/net/core/net-sysfs.c        2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/core/net-sysfs.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/core/net-sysfs.c  2009-09-10 16:11:43.000000000 +0200
 @@ -513,6 +513,9 @@ int netdev_register_kobject(struct net_d
        if (dev_net(net) != &init_net)
                return 0;
@@ -26169,9 +26357,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/core/net-sysfs.c linux-2.6.31.2-vs2.3.0
        return device_add(dev);
  }
  
-diff -NurpP --minimal linux-2.6.31.2/net/core/rtnetlink.c linux-2.6.31.2-vs2.3.0.36.15/net/core/rtnetlink.c
+diff -NurpP --minimal linux-2.6.31.2/net/core/rtnetlink.c linux-2.6.31.2-vs2.3.0.36.16/net/core/rtnetlink.c
 --- linux-2.6.31.2/net/core/rtnetlink.c        2009-06-11 17:13:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/core/rtnetlink.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/core/rtnetlink.c  2009-09-10 16:11:43.000000000 +0200
 @@ -690,6 +690,8 @@ static int rtnl_dump_ifinfo(struct sk_bu
  
        idx = 0;
@@ -26191,9 +26379,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/core/rtnetlink.c linux-2.6.31.2-vs2.3.0
        skb = nlmsg_new(if_nlmsg_size(dev), GFP_KERNEL);
        if (skb == NULL)
                goto errout;
-diff -NurpP --minimal linux-2.6.31.2/net/core/sock.c linux-2.6.31.2-vs2.3.0.36.15/net/core/sock.c
+diff -NurpP --minimal linux-2.6.31.2/net/core/sock.c linux-2.6.31.2-vs2.3.0.36.16/net/core/sock.c
 --- linux-2.6.31.2/net/core/sock.c     2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/core/sock.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/core/sock.c       2009-09-10 16:11:43.000000000 +0200
 @@ -125,6 +125,10 @@
  #include <linux/ipsec.h>
  
@@ -26261,9 +26449,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/core/sock.c linux-2.6.31.2-vs2.3.0.36.1
        /*
         * Before updating sk_refcnt, we must commit prior changes to memory
         * (Documentation/RCU/rculist_nulls.txt for details)
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/af_inet.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/af_inet.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/af_inet.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/af_inet.c
 --- linux-2.6.31.2/net/ipv4/af_inet.c  2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/af_inet.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/af_inet.c    2009-09-10 16:11:43.000000000 +0200
 @@ -115,6 +115,7 @@
  #ifdef CONFIG_IP_MROUTE
  #include <linux/mroute.h>
@@ -26340,9 +26528,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/af_inet.c linux-2.6.31.2-vs2.3.0.3
                sin->sin_port = inet->sport;
                sin->sin_addr.s_addr = addr;
        }
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/devinet.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/devinet.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/devinet.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/devinet.c
 --- linux-2.6.31.2/net/ipv4/devinet.c  2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/devinet.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/devinet.c    2009-09-10 16:11:43.000000000 +0200
 @@ -413,6 +413,7 @@ struct in_device *inetdev_by_index(struc
        return in_dev;
  }
@@ -26409,9 +26597,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/devinet.c linux-2.6.31.2-vs2.3.0.3
                        if (ip_idx < s_ip_idx)
                                continue;
                        if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid,
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/fib_hash.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/fib_hash.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/fib_hash.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/fib_hash.c
 --- linux-2.6.31.2/net/ipv4/fib_hash.c 2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/fib_hash.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/fib_hash.c   2009-09-10 16:11:43.000000000 +0200
 @@ -1021,7 +1021,7 @@ static int fib_seq_show(struct seq_file 
        prefix  = f->fn_key;
        mask    = FZ_MASK(iter->zone);
@@ -26421,9 +26609,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/fib_hash.c linux-2.6.31.2-vs2.3.0.
                seq_printf(seq,
                         "%s\t%08X\t%08X\t%04X\t%d\t%u\t%d\t%08X\t%d\t%u\t%u%n",
                         fi->fib_dev ? fi->fib_dev->name : "*", prefix,
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_connection_sock.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/inet_connection_sock.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_connection_sock.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/inet_connection_sock.c
 --- linux-2.6.31.2/net/ipv4/inet_connection_sock.c     2009-06-11 17:13:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/inet_connection_sock.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/inet_connection_sock.c       2009-09-10 16:11:43.000000000 +0200
 @@ -49,10 +49,40 @@ void inet_get_local_port_range(int *low,
  }
  EXPORT_SYMBOL(inet_get_local_port_range);
@@ -26477,9 +26665,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_connection_sock.c linux-2.6.3
                                        break;
                        }
                }
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_diag.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/inet_diag.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_diag.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/inet_diag.c
 --- linux-2.6.31.2/net/ipv4/inet_diag.c        2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/inet_diag.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/inet_diag.c  2009-09-10 16:11:43.000000000 +0200
 @@ -32,6 +32,8 @@
  #include <linux/stddef.h>
  
@@ -26581,9 +26769,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_diag.c linux-2.6.31.2-vs2.3.0
                                if (num < s_num)
                                        goto next_dying;
                                if (r->id.idiag_sport != tw->tw_sport &&
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_hashtables.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/inet_hashtables.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_hashtables.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/inet_hashtables.c
 --- linux-2.6.31.2/net/ipv4/inet_hashtables.c  2009-06-11 17:13:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/inet_hashtables.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/inet_hashtables.c    2009-09-10 16:11:43.000000000 +0200
 @@ -21,6 +21,7 @@
  
  #include <net/inet_connection_sock.h>
@@ -26620,9 +26808,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/inet_hashtables.c linux-2.6.31.2-v
        /*
         * if the nulls value we got at the end of this lookup is
         * not the expected one, we must restart lookup.
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/netfilter/nf_nat_helper.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/netfilter/nf_nat_helper.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/netfilter/nf_nat_helper.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/netfilter/nf_nat_helper.c
 --- linux-2.6.31.2/net/ipv4/netfilter/nf_nat_helper.c  2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/netfilter/nf_nat_helper.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/netfilter/nf_nat_helper.c    2009-09-10 16:11:43.000000000 +0200
 @@ -19,6 +19,7 @@
  #include <net/route.h>
  
@@ -26631,9 +26819,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/netfilter/nf_nat_helper.c linux-2.
  #include <net/netfilter/nf_conntrack.h>
  #include <net/netfilter/nf_conntrack_helper.h>
  #include <net/netfilter/nf_conntrack_ecache.h>
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/netfilter.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/netfilter.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/netfilter.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/netfilter.c
 --- linux-2.6.31.2/net/ipv4/netfilter.c        2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/netfilter.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/netfilter.c  2009-09-10 16:11:43.000000000 +0200
 @@ -4,7 +4,7 @@
  #include <linux/netfilter_ipv4.h>
  #include <linux/ip.h>
@@ -26643,9 +26831,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/netfilter.c linux-2.6.31.2-vs2.3.0
  #include <net/xfrm.h>
  #include <net/ip.h>
  #include <net/netfilter/nf_queue.h>
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/raw.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/raw.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/raw.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/raw.c
 --- linux-2.6.31.2/net/ipv4/raw.c      2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/raw.c        2009-09-10 17:17:12.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/raw.c        2009-09-10 17:17:12.000000000 +0200
 @@ -117,7 +117,7 @@ static struct sock *__raw_v4_lookup(stru
  
                if (net_eq(sock_net(sk), net) && inet->num == num       &&
@@ -26755,9 +26943,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/raw.c linux-2.6.31.2-vs2.3.0.36.15
                sk_wmem_alloc_get(sp),
                sk_rmem_alloc_get(sp),
                0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/tcp.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/tcp.c
 --- linux-2.6.31.2/net/ipv4/tcp.c      2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/tcp.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/tcp.c        2009-09-10 16:11:43.000000000 +0200
 @@ -264,6 +264,7 @@
  #include <linux/cache.h>
  #include <linux/err.h>
@@ -26766,9 +26954,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp.c linux-2.6.31.2-vs2.3.0.36.15
  
  #include <net/icmp.h>
  #include <net/tcp.h>
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp_ipv4.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/tcp_ipv4.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp_ipv4.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/tcp_ipv4.c
 --- linux-2.6.31.2/net/ipv4/tcp_ipv4.c 2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/tcp_ipv4.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/tcp_ipv4.c   2009-09-10 16:11:43.000000000 +0200
 @@ -1887,6 +1887,12 @@ static void *listening_get_next(struct s
                req = req->dl_next;
                while (1) {
@@ -26876,9 +27064,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp_ipv4.c linux-2.6.31.2-vs2.3.0.
                3, jiffies_to_clock_t(ttd), 0, 0, 0, 0,
                atomic_read(&tw->tw_refcnt), tw, len);
  }
-diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp_minisocks.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/tcp_minisocks.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp_minisocks.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/tcp_minisocks.c
 --- linux-2.6.31.2/net/ipv4/tcp_minisocks.c    2009-09-10 15:26:29.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/tcp_minisocks.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/tcp_minisocks.c      2009-09-10 16:11:43.000000000 +0200
 @@ -26,6 +26,10 @@
  #include <net/inet_common.h>
  #include <net/xfrm.h>
@@ -26902,9 +27090,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/tcp_minisocks.c linux-2.6.31.2-vs2
  #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.31.2/net/ipv4/udp.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/udp.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv4/udp.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/udp.c
 --- linux-2.6.31.2/net/ipv4/udp.c      2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv4/udp.c        2009-09-10 17:17:40.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv4/udp.c        2009-09-10 17:17:40.000000000 +0200
 @@ -222,14 +222,7 @@ fail:
        return error;
  }
@@ -27034,9 +27222,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv4/udp.c linux-2.6.31.2-vs2.3.0.36.15
                sk_wmem_alloc_get(sp),
                sk_rmem_alloc_get(sp),
                0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/addrconf.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/addrconf.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/addrconf.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/addrconf.c
 --- linux-2.6.31.2/net/ipv6/addrconf.c 2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/addrconf.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/addrconf.c   2009-09-10 16:11:43.000000000 +0200
 @@ -86,6 +86,8 @@
  
  #include <linux/proc_fs.h>
@@ -27136,9 +27324,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/addrconf.c linux-2.6.31.2-vs2.3.0.
                if ((idev = in6_dev_get(dev)) == NULL)
                        goto cont;
                err = inet6_fill_ifinfo(skb, idev, NETLINK_CB(cb->skb).pid,
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/af_inet6.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/af_inet6.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/af_inet6.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/af_inet6.c
 --- linux-2.6.31.2/net/ipv6/af_inet6.c 2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/af_inet6.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/af_inet6.c   2009-09-10 16:11:43.000000000 +0200
 @@ -41,6 +41,8 @@
  #include <linux/netdevice.h>
  #include <linux/icmpv6.h>
@@ -27234,9 +27422,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/af_inet6.c linux-2.6.31.2-vs2.3.0.
                if (ipv6_addr_any(&np->rcv_saddr))
                        ipv6_addr_copy(&sin->sin6_addr, &np->saddr);
                else
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/fib6_rules.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/fib6_rules.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/fib6_rules.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/fib6_rules.c
 --- linux-2.6.31.2/net/ipv6/fib6_rules.c       2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/fib6_rules.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/fib6_rules.c 2009-09-10 16:11:43.000000000 +0200
 @@ -96,7 +96,7 @@ static int fib6_rule_action(struct fib_r
                        if (ipv6_dev_get_saddr(net,
                                               ip6_dst_idev(&rt->u.dst)->dev,
@@ -27246,9 +27434,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/fib6_rules.c linux-2.6.31.2-vs2.3.
                                goto again;
                        if (!ipv6_prefix_equal(&saddr, &r->src.addr,
                                               r->src.plen))
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/inet6_hashtables.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/inet6_hashtables.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/inet6_hashtables.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/inet6_hashtables.c
 --- linux-2.6.31.2/net/ipv6/inet6_hashtables.c 2009-03-24 14:22:46.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/inet6_hashtables.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/inet6_hashtables.c   2009-09-10 16:11:43.000000000 +0200
 @@ -16,6 +16,7 @@
  
  #include <linux/module.h>
@@ -27284,9 +27472,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/inet6_hashtables.c linux-2.6.31.2-
                }
                if (sk->sk_bound_dev_if) {
                        if (sk->sk_bound_dev_if != dif)
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/ip6_output.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/ip6_output.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/ip6_output.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/ip6_output.c
 --- linux-2.6.31.2/net/ipv6/ip6_output.c       2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/ip6_output.c 2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/ip6_output.c 2009-09-10 16:11:43.000000000 +0200
 @@ -951,7 +951,7 @@ static int ip6_dst_lookup_tail(struct so
                err = ipv6_dev_get_saddr(net, ip6_dst_idev(*dst)->dev,
                                         &fl->fl6_dst,
@@ -27296,9 +27484,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/ip6_output.c linux-2.6.31.2-vs2.3.
                if (err)
                        goto out_err_release;
        }
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/Kconfig linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/Kconfig
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/Kconfig linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/Kconfig
 --- linux-2.6.31.2/net/ipv6/Kconfig    2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/Kconfig      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/Kconfig      2009-09-10 16:11:43.000000000 +0200
 @@ -4,8 +4,8 @@
  
  #   IPv6 as module will cause a CRASH if you try to unload it
@@ -27310,9 +27498,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/Kconfig linux-2.6.31.2-vs2.3.0.36.
        ---help---
          This is complemental support for the IP version 6.
          You will still be able to do traditional IPv4 networking as well.
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/ndisc.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/ndisc.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/ndisc.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/ndisc.c
 --- linux-2.6.31.2/net/ipv6/ndisc.c    2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/ndisc.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/ndisc.c      2009-09-10 16:11:43.000000000 +0200
 @@ -589,7 +589,7 @@ static void ndisc_send_na(struct net_dev
        } else {
                if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr,
@@ -27322,9 +27510,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/ndisc.c linux-2.6.31.2-vs2.3.0.36.
                        return;
                src_addr = &tmpaddr;
        }
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/raw.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/raw.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/raw.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/raw.c
 --- linux-2.6.31.2/net/ipv6/raw.c      2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/raw.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/raw.c        2009-09-10 16:11:43.000000000 +0200
 @@ -29,6 +29,7 @@
  #include <linux/icmpv6.h>
  #include <linux/netfilter.h>
@@ -27347,9 +27535,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/raw.c linux-2.6.31.2-vs2.3.0.36.15
                /* ipv4 addr of the socket is invalid.  Only the
                 * unspecified and mapped address have a v4 equivalent.
                 */
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/route.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/route.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/route.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/route.c
 --- linux-2.6.31.2/net/ipv6/route.c    2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/route.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/route.c      2009-09-10 16:11:43.000000000 +0200
 @@ -2257,7 +2257,8 @@ static int rt6_fill_node(struct net *net
                struct inet6_dev *idev = ip6_dst_idev(&rt->u.dst);
                struct in6_addr saddr_buf;
@@ -27360,9 +27548,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/route.c linux-2.6.31.2-vs2.3.0.36.
                        NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf);
        }
  
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/tcp_ipv6.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/tcp_ipv6.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/tcp_ipv6.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/tcp_ipv6.c
 --- linux-2.6.31.2/net/ipv6/tcp_ipv6.c 2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/tcp_ipv6.c   2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/tcp_ipv6.c   2009-09-10 16:11:43.000000000 +0200
 @@ -68,6 +68,7 @@
  
  #include <linux/crypto.h>
@@ -27389,9 +27577,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/tcp_ipv6.c linux-2.6.31.2-vs2.3.0.
  
        addr_type = ipv6_addr_type(&usin->sin6_addr);
  
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/udp.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/udp.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/udp.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/udp.c
 --- linux-2.6.31.2/net/ipv6/udp.c      2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/udp.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/udp.c        2009-09-10 16:11:43.000000000 +0200
 @@ -47,6 +47,7 @@
  
  #include <linux/proc_fs.h>
@@ -27468,9 +27656,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/udp.c linux-2.6.31.2-vs2.3.0.36.15
                }
                if (!ipv6_addr_any(&np->daddr)) {
                        if (!ipv6_addr_equal(&np->daddr, saddr))
-diff -NurpP --minimal linux-2.6.31.2/net/ipv6/xfrm6_policy.c linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/xfrm6_policy.c
+diff -NurpP --minimal linux-2.6.31.2/net/ipv6/xfrm6_policy.c linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/xfrm6_policy.c
 --- linux-2.6.31.2/net/ipv6/xfrm6_policy.c     2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/ipv6/xfrm6_policy.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/ipv6/xfrm6_policy.c       2009-09-10 16:11:43.000000000 +0200
 @@ -63,7 +63,7 @@ static int xfrm6_get_saddr(struct net *n
        dev = ip6_dst_idev(dst)->dev;
        ipv6_dev_get_saddr(dev_net(dev), dev,
@@ -27480,9 +27668,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/ipv6/xfrm6_policy.c linux-2.6.31.2-vs2.
        dst_release(dst);
        return 0;
  }
-diff -NurpP --minimal linux-2.6.31.2/net/netlink/af_netlink.c linux-2.6.31.2-vs2.3.0.36.15/net/netlink/af_netlink.c
+diff -NurpP --minimal linux-2.6.31.2/net/netlink/af_netlink.c linux-2.6.31.2-vs2.3.0.36.16/net/netlink/af_netlink.c
 --- linux-2.6.31.2/net/netlink/af_netlink.c    2009-09-10 15:26:30.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/netlink/af_netlink.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/netlink/af_netlink.c      2009-09-10 16:11:43.000000000 +0200
 @@ -55,6 +55,9 @@
  #include <linux/types.h>
  #include <linux/audit.h>
@@ -27522,9 +27710,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/netlink/af_netlink.c linux-2.6.31.2-vs2
                                s = sk_next(s);
                        if (s) {
                                iter->link = i;
-diff -NurpP --minimal linux-2.6.31.2/net/sctp/ipv6.c linux-2.6.31.2-vs2.3.0.36.15/net/sctp/ipv6.c
+diff -NurpP --minimal linux-2.6.31.2/net/sctp/ipv6.c linux-2.6.31.2-vs2.3.0.36.16/net/sctp/ipv6.c
 --- linux-2.6.31.2/net/sctp/ipv6.c     2009-09-10 15:26:31.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/sctp/ipv6.c       2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/sctp/ipv6.c       2009-09-10 16:11:43.000000000 +0200
 @@ -316,7 +316,8 @@ static void sctp_v6_get_saddr(struct sct
                                   dst ? ip6_dst_idev(dst)->dev : NULL,
                                   &daddr->v6.sin6_addr,
@@ -27535,9 +27723,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/sctp/ipv6.c linux-2.6.31.2-vs2.3.0.36.1
                SCTP_DEBUG_PRINTK("saddr from ipv6_get_saddr: %pI6\n",
                                  &saddr->v6.sin6_addr);
                return;
-diff -NurpP --minimal linux-2.6.31.2/net/socket.c linux-2.6.31.2-vs2.3.0.36.15/net/socket.c
+diff -NurpP --minimal linux-2.6.31.2/net/socket.c linux-2.6.31.2-vs2.3.0.36.16/net/socket.c
 --- linux-2.6.31.2/net/socket.c        2009-09-10 15:26:31.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/socket.c  2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/socket.c  2009-09-10 16:11:43.000000000 +0200
 @@ -95,6 +95,10 @@
  
  #include <net/sock.h>
@@ -27646,9 +27834,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/socket.c linux-2.6.31.2-vs2.3.0.36.15/n
  
        err = sock1->ops->socketpair(sock1, sock2);
        if (err < 0)
-diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/auth.c linux-2.6.31.2-vs2.3.0.36.15/net/sunrpc/auth.c
+diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/auth.c linux-2.6.31.2-vs2.3.0.36.16/net/sunrpc/auth.c
 --- linux-2.6.31.2/net/sunrpc/auth.c   2009-03-24 14:22:48.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/sunrpc/auth.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/sunrpc/auth.c     2009-09-10 16:11:43.000000000 +0200
 @@ -14,6 +14,7 @@
  #include <linux/hash.h>
  #include <linux/sunrpc/clnt.h>
@@ -27673,9 +27861,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/auth.c linux-2.6.31.2-vs2.3.0.36
        };
        struct rpc_cred *ret;
  
-diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/auth_unix.c linux-2.6.31.2-vs2.3.0.36.15/net/sunrpc/auth_unix.c
+diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/auth_unix.c linux-2.6.31.2-vs2.3.0.36.16/net/sunrpc/auth_unix.c
 --- linux-2.6.31.2/net/sunrpc/auth_unix.c      2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/sunrpc/auth_unix.c        2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/sunrpc/auth_unix.c        2009-09-10 16:11:43.000000000 +0200
 @@ -11,12 +11,14 @@
  #include <linux/module.h>
  #include <linux/sunrpc/clnt.h>
@@ -27734,9 +27922,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/auth_unix.c linux-2.6.31.2-vs2.3
        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.31.2/net/sunrpc/clnt.c linux-2.6.31.2-vs2.3.0.36.15/net/sunrpc/clnt.c
+diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/clnt.c linux-2.6.31.2-vs2.3.0.36.16/net/sunrpc/clnt.c
 --- linux-2.6.31.2/net/sunrpc/clnt.c   2009-09-10 15:26:31.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/sunrpc/clnt.c     2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/sunrpc/clnt.c     2009-09-10 16:11:43.000000000 +0200
 @@ -31,6 +31,7 @@
  #include <linux/utsname.h>
  #include <linux/workqueue.h>
@@ -27755,9 +27943,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/sunrpc/clnt.c linux-2.6.31.2-vs2.3.0.36
        return clnt;
  }
  EXPORT_SYMBOL_GPL(rpc_create);
-diff -NurpP --minimal linux-2.6.31.2/net/unix/af_unix.c linux-2.6.31.2-vs2.3.0.36.15/net/unix/af_unix.c
+diff -NurpP --minimal linux-2.6.31.2/net/unix/af_unix.c linux-2.6.31.2-vs2.3.0.36.16/net/unix/af_unix.c
 --- linux-2.6.31.2/net/unix/af_unix.c  2009-09-10 15:26:31.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/unix/af_unix.c    2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/unix/af_unix.c    2009-09-10 16:11:43.000000000 +0200
 @@ -114,6 +114,8 @@
  #include <linux/mount.h>
  #include <net/checksum.h>
@@ -27795,9 +27983,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/unix/af_unix.c linux-2.6.31.2-vs2.3.0.3
                sk = next_unix_socket(&iter->i, sk);
        return sk;
  }
-diff -NurpP --minimal linux-2.6.31.2/net/x25/af_x25.c linux-2.6.31.2-vs2.3.0.36.15/net/x25/af_x25.c
+diff -NurpP --minimal linux-2.6.31.2/net/x25/af_x25.c linux-2.6.31.2-vs2.3.0.36.16/net/x25/af_x25.c
 --- linux-2.6.31.2/net/x25/af_x25.c    2009-09-10 15:26:31.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/net/x25/af_x25.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/net/x25/af_x25.c      2009-09-10 16:11:43.000000000 +0200
 @@ -519,7 +519,10 @@ static int x25_create(struct net *net, s
  
        x25 = x25_sk(sk);
@@ -27810,9 +27998,9 @@ diff -NurpP --minimal linux-2.6.31.2/net/x25/af_x25.c linux-2.6.31.2-vs2.3.0.36.
  
        x25_init_timers(sk);
  
-diff -NurpP --minimal linux-2.6.31.2/scripts/checksyscalls.sh linux-2.6.31.2-vs2.3.0.36.15/scripts/checksyscalls.sh
+diff -NurpP --minimal linux-2.6.31.2/scripts/checksyscalls.sh linux-2.6.31.2-vs2.3.0.36.16/scripts/checksyscalls.sh
 --- linux-2.6.31.2/scripts/checksyscalls.sh    2009-09-10 15:26:31.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/scripts/checksyscalls.sh      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/scripts/checksyscalls.sh      2009-09-10 16:11:43.000000000 +0200
 @@ -194,7 +194,6 @@ cat << EOF
  #define __IGNORE_afs_syscall
  #define __IGNORE_getpmsg
@@ -27821,9 +28009,9 @@ diff -NurpP --minimal linux-2.6.31.2/scripts/checksyscalls.sh linux-2.6.31.2-vs2
  EOF
  }
  
-diff -NurpP --minimal linux-2.6.31.2/security/commoncap.c linux-2.6.31.2-vs2.3.0.36.15/security/commoncap.c
+diff -NurpP --minimal linux-2.6.31.2/security/commoncap.c linux-2.6.31.2-vs2.3.0.36.16/security/commoncap.c
 --- linux-2.6.31.2/security/commoncap.c        2009-09-10 15:26:32.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/security/commoncap.c  2009-09-10 16:32:54.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/security/commoncap.c  2009-09-10 16:32:54.000000000 +0200
 @@ -27,6 +27,7 @@
  #include <linux/sched.h>
  #include <linux/prctl.h>
@@ -27897,9 +28085,9 @@ diff -NurpP --minimal linux-2.6.31.2/security/commoncap.c linux-2.6.31.2-vs2.3.0
        return ret;
  }
 +
-diff -NurpP --minimal linux-2.6.31.2/security/selinux/hooks.c linux-2.6.31.2-vs2.3.0.36.15/security/selinux/hooks.c
+diff -NurpP --minimal linux-2.6.31.2/security/selinux/hooks.c linux-2.6.31.2-vs2.3.0.36.16/security/selinux/hooks.c
 --- linux-2.6.31.2/security/selinux/hooks.c    2009-09-10 15:26:32.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/security/selinux/hooks.c      2009-09-10 16:11:43.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/security/selinux/hooks.c      2009-09-10 16:11:43.000000000 +0200
 @@ -64,7 +64,6 @@
  #include <linux/dccp.h>
  #include <linux/quota.h>
@@ -27908,9 +28096,9 @@ diff -NurpP --minimal linux-2.6.31.2/security/selinux/hooks.c linux-2.6.31.2-vs2
  #include <linux/parser.h>
  #include <linux/nfs_mount.h>
  #include <net/ipv6.h>
-diff -NurpP --minimal linux-2.6.31.2/security/selinux/include/av_permissions.h linux-2.6.31.2-vs2.3.0.36.15/security/selinux/include/av_permissions.h
+diff -NurpP --minimal linux-2.6.31.2/security/selinux/include/av_permissions.h linux-2.6.31.2-vs2.3.0.36.16/security/selinux/include/av_permissions.h
 --- linux-2.6.31.2/security/selinux/include/av_permissions.h   2009-06-11 17:13:33.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/security/selinux/include/av_permissions.h     2009-09-29 17:20:23.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/security/selinux/include/av_permissions.h     2009-09-29 17:20:23.000000000 +0200
 @@ -542,6 +542,7 @@
  #define CAPABILITY__SETFCAP                       0x80000000UL
  #define CAPABILITY2__MAC_OVERRIDE                 0x00000001UL
@@ -27919,9 +28107,9 @@ diff -NurpP --minimal linux-2.6.31.2/security/selinux/include/av_permissions.h l
  #define NETLINK_ROUTE_SOCKET__IOCTL               0x00000001UL
  #define NETLINK_ROUTE_SOCKET__READ                0x00000002UL
  #define NETLINK_ROUTE_SOCKET__WRITE               0x00000004UL
-diff -NurpP --minimal linux-2.6.31.2/security/selinux/include/av_perm_to_string.h linux-2.6.31.2-vs2.3.0.36.15/security/selinux/include/av_perm_to_string.h
+diff -NurpP --minimal linux-2.6.31.2/security/selinux/include/av_perm_to_string.h linux-2.6.31.2-vs2.3.0.36.16/security/selinux/include/av_perm_to_string.h
 --- linux-2.6.31.2/security/selinux/include/av_perm_to_string.h        2009-06-11 17:13:33.000000000 +0200
-+++ linux-2.6.31.2-vs2.3.0.36.15/security/selinux/include/av_perm_to_string.h  2009-09-29 17:20:23.000000000 +0200
++++ linux-2.6.31.2-vs2.3.0.36.16/security/selinux/include/av_perm_to_string.h  2009-09-29 17:20:23.000000000 +0200
 @@ -141,6 +141,7 @@
     S_(SECCLASS_CAPABILITY, CAPABILITY__SETFCAP, "setfcap")
     S_(SECCLASS_CAPABILITY2, CAPABILITY2__MAC_OVERRIDE, "mac_override")
This page took 1.059197 seconds and 4 git commands to generate.