commit 0d27a0432dbee7687ea4eb4f788140d9451e8fe3
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date:   Mon May 28 19:21:21 2007 -0400

    bug fix: don't warn if trying to mntput a "negative" union object
    
    In unionfs_d_release, we may get negative dentries which don't have a lower
    mnt.  In that case, don't print a warning message from unionfs_mntput about
    trying to put a NULL mnt.
    
    Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>

diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
index 1653267..c9ff886 100644
--- a/fs/unionfs/dentry.c
+++ b/fs/unionfs/dentry.c
@@ -325,9 +325,11 @@ static void unionfs_d_release(struct dentry *dentry)
        bend = dbend(dentry);
        for (bindex = bstart; bindex <= bend; bindex++) {
                dput(unionfs_lower_dentry_idx(dentry, bindex));
-               unionfs_mntput(dentry, bindex);
-
                unionfs_set_lower_dentry_idx(dentry, bindex, NULL);
+               /* NULL lower mnt is ok if this is a negative dentry */
+               if (!dentry->d_inode && !unionfs_lower_mnt_idx(dentry,bindex))
+                       continue;
+               unionfs_mntput(dentry, bindex);
                unionfs_set_lower_mnt_idx(dentry, bindex, NULL);
        }
        /* free private data (unionfs_dentry_info) here */
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to