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

Reply via email to