mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
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:
parent
8ed936b567
commit
9b053f3207
@ -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 @@ not_found:
|
||||
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);
|
||||
|
@ -274,9 +274,6 @@ out:
|
||||
|
||||
invalid:
|
||||
ret = 0;
|
||||
|
||||
if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0)
|
||||
ret = 1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -93,9 +93,6 @@ invalid_gunlock:
|
||||
if (!had_lock)
|
||||
gfs2_glock_dq_uninit(&d_gh);
|
||||
invalid:
|
||||
if (check_submounts_and_drop(dentry) != 0)
|
||||
goto valid;
|
||||
|
||||
dput(parent);
|
||||
return 0;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -1211,10 +1211,6 @@ out_zap_parent:
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user