Skip to content

Commit

Permalink
vfs: Remove unnecessary calls of check_submounts_and_drop
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: "Eric W. Biederman" <[email protected]>
Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
ebiederm authored and Al Viro committed Oct 9, 2014
1 parent 8ed936b commit 9b053f3
Show file tree
Hide file tree
Showing 5 changed files with 0 additions and 26 deletions.
5 changes: 0 additions & 5 deletions fs/afs/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -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]");
Expand All @@ -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);
Expand Down
3 changes: 0 additions & 3 deletions fs/fuse/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
3 changes: 0 additions & 3 deletions fs/gfs2/dentry.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
11 changes: 0 additions & 11 deletions fs/kernfs/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
4 changes: 0 additions & 4 deletions fs/nfs/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 9b053f3

Please sign in to comment.