1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
This patch was originally written by Wilhelm Meier.
Index: fs/aufs/vfsub.h
===================================================================
RCS file: /cvsroot/aufs/aufs/fs/aufs/vfsub.h,v
retrieving revision 1.16
diff -u -p -r1.16 vfsub.h
--- fs/aufs/vfsub.h 12 Aug 2007 21:55:27 -0000 1.16
+++ fs/aufs/vfsub.h 5 Sep 2007 06:33:58 -0000
@@ -201,7 +201,11 @@ int do_vfsub_symlink(struct inode *dir,
LKTRTrace("i%lu, %.*s, %s, 0x%x\n",
dir->i_ino, DLNPair(dentry), symname, mode);
+#ifdef CONFIG_VSERVER
+ err = vfs_symlink(dir, dentry, symname, mode, NULL);
+#else
err = vfs_symlink(dir, dentry, symname, mode);
+#endif
if (!err) {
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
au_update_fuse_h_inode(NULL, dentry); /*ignore*/
@@ -217,7 +221,11 @@ int do_vfsub_mknod(struct inode *dir, st
LKTRTrace("i%lu, %.*s, 0x%x\n", dir->i_ino, DLNPair(dentry), mode);
+#ifdef CONFIG_VSERVER
+ err = vfs_mknod(dir, dentry, mode, dev, NULL);
+#else
err = vfs_mknod(dir, dentry, mode, dev);
+#endif
if (!err) {
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
au_update_fuse_h_inode(NULL, dentry); /*ignore*/
@@ -235,7 +243,11 @@ int do_vfsub_link(struct dentry *src_den
DLNPair(src_dentry), dir->i_ino, DLNPair(dentry));
lockdep_off();
+#ifdef CONFIG_VSERVER
+ err = vfs_link(src_dentry, dir, dentry, NULL);
+#else
err = vfs_link(src_dentry, dir, dentry);
+#endif
lockdep_on();
if (!err) {
LKTRTrace("src_i %p, dst_i %p\n", src_dentry->d_inode, dentry->d_inode);
@@ -275,7 +287,11 @@ int do_vfsub_mkdir(struct inode *dir, st
LKTRTrace("i%lu, %.*s, 0x%x\n", dir->i_ino, DLNPair(dentry), mode);
+#ifdef CONFIG_VSERVER
+ err = vfs_mkdir(dir, dentry, mode, NULL);
+#else
err = vfs_mkdir(dir, dentry, mode);
+#endif
if (!err) {
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
au_update_fuse_h_inode(NULL, dentry); /*ignore*/
@@ -290,7 +306,11 @@ static inline int do_vfsub_rmdir(struct
LKTRTrace("i%lu, %.*s\n", dir->i_ino, DLNPair(dentry));
lockdep_off();
+#ifdef CONFIG_VSERVER
+ err = vfs_rmdir(dir, dentry, NULL);
+#else
err = vfs_rmdir(dir, dentry);
+#endif
lockdep_on();
if (!err)
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
@@ -305,7 +325,11 @@ static inline int do_vfsub_unlink(struct
/* vfs_unlink() locks inode */
lockdep_off();
+#ifdef CONFIG_VSERVER
+ err = vfs_unlink(dir, dentry, NULL);
+#else
err = vfs_unlink(dir, dentry);
+#endif
lockdep_on();
if (!err)
au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
|