diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index be46f26c9a561..db3ad849a289f 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -837,6 +837,8 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) /* If we have submounts, don't unhash ! */ if (have_submounts(dentry)) goto out_valid; + if (dentry->d_flags & DCACHE_DISCONNECTED) + goto out_valid; shrink_dcache_parent(dentry); } d_drop(dentry);