vfs: Remove unnecessary calls of check_submounts_and_drop

Now that check_submounts_and_drop can not fail and is called from
d_invalidate there is no longer a need to call check_submounts_and_drom
from filesystem d_revalidate methods so remove it.

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>
This commit is contained in:
Eric W. Biederman 2014-02-13 09:34:30 -08:00 committed by Al Viro
parent 8ed936b567
commit 9b053f3207
5 changed files with 0 additions and 26 deletions

View file

@ -669,7 +669,6 @@ static int afs_d_revalidate(struct dentry *dentry, unsigned int flags)
out_valid:
dentry->d_fsdata = dir_version;
out_skip:
dput(parent);
key_put(key);
_leave(" = 1 [valid]");
@ -682,10 +681,6 @@ static int afs_d_revalidate(struct dentry *dentry, unsigned int flags)
spin_unlock(&dentry->d_lock);
out_bad:
/* don't unhash if we have submounts */
if (check_submounts_and_drop(dentry) != 0)
goto out_skip;
_debug("dropping dentry %s/%s",
parent->d_name.name, dentry->d_name.name);
dput(parent);

View file

@ -274,9 +274,6 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
invalid:
ret = 0;
if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0)
ret = 1;
goto out;
}

View file

@ -93,9 +93,6 @@ static int gfs2_drevalidate(struct dentry *dentry, unsigned int flags)
if (!had_lock)
gfs2_glock_dq_uninit(&d_gh);
invalid:
if (check_submounts_and_drop(dentry) != 0)
goto valid;
dput(parent);
return 0;

View file

@ -463,21 +463,10 @@ static int kernfs_dop_revalidate(struct dentry *dentry, unsigned int flags)
goto out_bad;
mutex_unlock(&kernfs_mutex);
out_valid:
return 1;
out_bad:
mutex_unlock(&kernfs_mutex);
out_bad_unlocked:
/*
* @dentry doesn't match the underlying kernfs node, drop the
* dentry and force lookup. If we have submounts we must allow the
* vfs caches to lie about the state of the filesystem to prevent
* leaks and other nasty things, so use check_submounts_and_drop()
* instead of d_drop().
*/
if (check_submounts_and_drop(dentry) != 0)
goto out_valid;
return 0;
}

View file

@ -1211,10 +1211,6 @@ static int nfs_lookup_revalidate(struct dentry *dentry, unsigned int flags)
if (IS_ROOT(dentry))
goto out_valid;
}
/* If we have submounts, don't unhash ! */
if (check_submounts_and_drop(dentry) != 0)
goto out_valid;
dput(parent);
dfprintk(LOOKUPCACHE, "NFS: %s(%pd2) is invalid\n",
__func__, dentry);