commit bc0bf6e5fe7180b29330cb94138622129dc15e14
Author: Erez Zadok <[EMAIL PROTECTED]>
Date:   Thu Mar 22 20:08:30 2007 -0400

    Unionfs: vfsmount reference counting fixes
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
    Signed-off-by: Josef 'Jeff' Sipek <[EMAIL PROTECTED]>

diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
index 4756b78..b08842f 100644
--- a/fs/unionfs/dentry.c
+++ b/fs/unionfs/dentry.c
@@ -235,8 +235,8 @@ int __unionfs_d_revalidate_chain(struct dentry *dentry, 
struct nameidata *nd)
                valid = __unionfs_d_revalidate_one(chain[i], nd);
                /* XXX: is this the correct mntput condition?! */
                if (valid && chain_len > 0 &&
-                   sbgen != dgen && dentry->d_inode &&
-                   S_ISDIR(dentry->d_inode->i_mode)) {
+                   sbgen != dgen && chain[i]->d_inode &&
+                   S_ISDIR(chain[i]->d_inode->i_mode)) {
                        for (bindex = saved_bstart; bindex <= saved_bend; 
bindex++)
                                unionfs_mntput(chain[i], bindex);
                }
@@ -256,9 +256,7 @@ int __unionfs_d_revalidate_chain(struct dentry *dentry, 
struct nameidata *nd)
        saved_bend = dbend(dentry);
        valid = __unionfs_d_revalidate_one(dentry, nd);
 
-       if (valid && chain_len > 0 &&
-           sbgen != dgen && dentry->d_inode &&
-           S_ISDIR(dentry->d_inode->i_mode)) {
+       if (valid && chain_len > 0 && sbgen != dgen) {
                for (bindex = saved_bstart; bindex <= saved_bend; bindex++)
                        unionfs_mntput(dentry, bindex);
        }
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to