From: "J. Bruce Fields" <bfields@xxxxxxxxxx> XXX: I don't understand this code, but I also can't see how it can be right as is: a dentry marked DCACHE_DISCONNECTED can in fact be a fully-connected member of the dcache. Is IS_ROOT() the right check instead? Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> --- fs/ocfs2/dcache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ocfs2/dcache.c b/fs/ocfs2/dcache.c index e5ba348..2a66620 100644 --- a/fs/ocfs2/dcache.c +++ b/fs/ocfs2/dcache.c @@ -461,7 +461,7 @@ static void ocfs2_dentry_iput(struct dentry *dentry, struct inode *inode) * No dentry lock is ok if we're disconnected or * unhashed. */ - if (!(dentry->d_flags & DCACHE_DISCONNECTED) && + if (!IS_ROOT(dentry)) && !d_unhashed(dentry)) { unsigned long long ino = 0ULL; if (inode) -- 1.7.11.2 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html