commit b58da536c38325f0a3e61c6c5b57e0d601853268
Author: Erez Zadok <[EMAIL PROTECTED]>
Date: Tue Jul 29 21:29:08 2008 -0400
Unionfs: regression fixes for 2.6.9
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index ee59abf..df7d998 100644
--- a/fs/unionfs/inode.c
+++ b/fs/unionfs/inode.c
@@ -220,6 +220,8 @@ static struct dentry *unionfs_lookup(struct inode *parent,
unionfs_unlock_dentry(dentry);
out:
+ if (!IS_ERR(ret) && d_unhashed(dentry)) /* needed in 2.6.9 */
+ d_rehash(dentry);
if (dentry != dentry->d_parent) {
unionfs_check_dentry(dentry->d_parent);
unionfs_unlock_dentry(dentry->d_parent);
diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
index 1cfdd83..ac774ad 100644
--- a/fs/unionfs/main.c
+++ b/fs/unionfs/main.c
@@ -129,9 +129,12 @@ skip:
/* only (our) lookup wants to do a d_add */
switch (flag) {
case INTERPOSE_DEFAULT:
+#ifdef OFF_BROKEN_ON_2_6_9
+ /* causes EBUSY on 2.6.9 */
/* for operations which create new inodes */
d_add(dentry, inode);
break;
+#endif
case INTERPOSE_REVAL_NEG:
d_instantiate(dentry, inode);
break;
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs