GIT: unionfs2-2.6.27.y: fs/unionfs/: mntput in __cleanup_dentry

Erez Zadok ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:15:54 EDT 2010


commit aadf0cee1000e2f48fb7df731170d51771791948
Author: Erez Zadok <ezk at cs.sunysb.edu>
Date:   Fri Mar 2 13:10:56 2007 -0500

    fs/unionfs/: mntput in __cleanup_dentry
    
    This fixes a mnt refleak which occured during copyup when directory
    hierarchy was recreated on a writable branch.
    
    Signed-off-by: Erez Zadok <ezk at cs.sunysb.edu>
    Signed-off-by: Josef 'Jeff' Sipek <jsipek at cs.sunysb.edu>

diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
index 998cc69..e0075ca 100644
--- a/fs/unionfs/copyup.c
+++ b/fs/unionfs/copyup.c
@@ -548,6 +548,9 @@ static void __cleanup_dentry(struct dentry * dentry, int bindex,
 		if (!unionfs_lower_dentry_idx(dentry, i)->d_inode) {
 			dput(unionfs_lower_dentry_idx(dentry, i));
 			unionfs_set_lower_dentry_idx(dentry, i, NULL);
+
+			mntput(unionfs_lower_mnt_idx(dentry, i));
+			unionfs_set_lower_mnt_idx(dentry, i, NULL);
 		} else {
 			if (new_bstart < 0)
 				new_bstart = i;


More information about the unionfs-cvs mailing list