diff options
Diffstat (limited to 'vserver-sources/old/2.1.1_rc14-r1/4416_vs2.1.1-rc14-loop-feat01.patch')
-rw-r--r-- | vserver-sources/old/2.1.1_rc14-r1/4416_vs2.1.1-rc14-loop-feat01.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/vserver-sources/old/2.1.1_rc14-r1/4416_vs2.1.1-rc14-loop-feat01.patch b/vserver-sources/old/2.1.1_rc14-r1/4416_vs2.1.1-rc14-loop-feat01.patch new file mode 100644 index 0000000..971c78d --- /dev/null +++ b/vserver-sources/old/2.1.1_rc14-r1/4416_vs2.1.1-rc14-loop-feat01.patch @@ -0,0 +1,30 @@ +Index: vserver-sources-2.1.1_2.6.16/drivers/block/loop.c +=================================================================== +--- vserver-sources-2.1.1_2.6.16.orig/drivers/block/loop.c ++++ vserver-sources-2.1.1_2.6.16/drivers/block/loop.c +@@ -74,6 +74,7 @@ + #include <linux/completion.h> + #include <linux/highmem.h> + #include <linux/gfp.h> ++#include <linux/vs_context.h> + + #include <asm/uaccess.h> + +@@ -743,6 +744,7 @@ static int loop_set_fd(struct loop_devic + struct file *file, *f; + struct inode *inode; + struct address_space *mapping; ++ struct vx_info_save vxis; + unsigned lo_blocksize; + int lo_flags = 0; + int error; +@@ -840,7 +842,9 @@ static int loop_set_fd(struct loop_devic + + set_blocksize(bdev, lo_blocksize); + ++ __enter_vx_admin(&vxis); + pid = kernel_thread(loop_thread, lo, CLONE_KERNEL); ++ __leave_vx_admin(&vxis); + if (pid < 0) + goto out_err; + wait_for_completion(&lo->lo_done); |