vfs: Remove d_drop calls from d_revalidate implementations
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 13 Feb 2014 18:19:10 +0000 (10:19 -0800)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 9 Oct 2014 06:38:58 +0000 (02:38 -0400)
Now that d_invalidate always succeeds it is not longer necessary or
desirable to hard code d_drop calls into filesystem specific
d_revalidate implementations.

Remove the unnecessary d_drop calls and rely on d_invalidate
to drop the dentries.  Using d_invalidate ensures that paths
to mount points will not be dropped.

Reviewed-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ceph/dir.c
fs/proc/base.c
fs/proc/fd.c

index c29d6ae..b6c59ea 100644 (file)
@@ -1069,7 +1069,6 @@ static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags)
                ceph_dentry_lru_touch(dentry);
        } else {
                ceph_dir_clear_complete(dir);
-               d_drop(dentry);
        }
        iput(dir);
        return valid;
diff --cc fs/proc/base.c
Simple merge
diff --cc fs/proc/fd.c
Simple merge