commit b182625545d677c990bf6871995439cb573803a6
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date: Wed May 30 16:36:31 2007 -0400
call inherint_mnt on parent after calls to create_parent, since
the newly created dentry might have a lower mnt on the leftmost
branch so inherint_mnt on that dentry will not inherit the mnt to
its parents
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index 0ce143d..b6aa79b 100644
--- a/fs/unionfs/inode.c
+++ b/fs/unionfs/inode.c
@@ -72,6 +72,7 @@ static int unionfs_create(struct inode *parent, struct dentry
*dentry,
err = PTR_ERR(hidden_dentry);
goto out;
}
+ unionfs_inherit_mnt(dentry->d_parent);
}
if (hidden_dentry->d_inode && UNIONFS_D(dentry)->odf.whiteout) {
@@ -324,6 +325,7 @@ static int unionfs_symlink(struct inode *dir, struct dentry
*dentry,
"for bindex = %d\n", bstart);
goto out;
}
+ unionfs_inherit_mnt(dentry->d_parent);
}
if (hidden_dentry->d_inode && UNIONFS_D(dentry)->odf.whiteout) {
@@ -403,6 +405,7 @@ static int unionfs_mkdir(struct inode *parent, struct
dentry *dentry, int mode)
err = PTR_ERR(hidden_dentry);
goto out;
}
+ unionfs_inherit_mnt(dentry->d_parent);
}
if (hidden_dentry->d_inode && UNIONFS_D(dentry)->odf.whiteout) {
@@ -498,6 +501,7 @@ static int unionfs_mknod(struct inode *dir, struct dentry
*dentry, int mode,
bstart, PTR_ERR(hidden_dentry));
goto out;
}
+ unionfs_inherit_mnt(dentry->d_parent);
}
if (hidden_dentry->d_inode && UNIONFS_D(dentry)->odf.whiteout) {
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs