commit 3715fa4f8ad9eefce44ccf0964aa335ab5d8a25d
Author: Erez Zadok <[EMAIL PROTECTED]>
Date: Fri Sep 19 00:02:56 2008 -0400
Unionfs: unionfs_permission locking fixes
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index 5dad8d9..0ea6e79 100644
--- a/fs/unionfs/inode.c
+++ b/fs/unionfs/inode.c
@@ -781,6 +781,7 @@ static int unionfs_permission(struct inode *inode, int mask,
int bindex, bstart, bend;
const int is_file = !S_ISDIR(inode->i_mode);
const int write_mask = (mask & MAY_WRITE) && !(mask & MAY_READ);
+ struct inode *inode_grabbed = igrab(inode);
if (nd)
unionfs_lock_dentry(nd->dentry, UNIONFS_DMUTEX_CHILD);
@@ -860,6 +861,7 @@ out:
unionfs_check_inode(inode);
if (nd)
unionfs_unlock_dentry(nd->dentry);
+ iput(inode_grabbed);
return err;
}
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs