commit 97b77b27a332d7d17bdf66b6145e0083732aef65
Author: Erez Zadok <[EMAIL PROTECTED]>
Date: Fri Feb 15 21:37:07 2008 -0500
Unionfs: use dget_parent in revalidation code
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
index a2009e8..b54fbc2 100644
--- a/fs/unionfs/dentry.c
+++ b/fs/unionfs/dentry.c
@@ -403,15 +403,10 @@ bool __unionfs_d_revalidate_chain(struct dentry *dentry,
struct nameidata *nd,
goto out;
}
- /*
- * lock all dentries in chain, in child to parent order.
- * if failed, then sleep for a little, then retry.
- */
- dtmp = dentry->d_parent;
- for (i = chain_len-1; i >= 0; i--) {
- chain[i] = dget(dtmp);
- dtmp = dtmp->d_parent;
- }
+ /* grab all dentries in chain, in child to parent order */
+ dtmp = dentry;
+ for (i = chain_len-1; i >= 0; i--)
+ dtmp = chain[i] = dget_parent(dtmp);
/*
* call __unionfs_d_revalidate_one() on each dentry, but in parent
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs