diff options
author | Ian Kent <raven@themaw.net> | 2014-09-09 21:56:22 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-10-09 02:38:52 -0400 |
commit | b3ca406f2755c20cea1cc1169672c56dd03c266c (patch) | |
tree | 965aa5da27bc5db7799fb6eae216683ced4a286f /fs/autofs4 | |
parent | 8d85b4845a668d9a72649005c5aa932657311bd4 (diff) |
autofs - remove obsolete d_invalidate() from expire
Biederman's umount-on-rmdir series changes d_invalidate() to sumarily remove
mounts under the passed in dentry regardless of whether they are busy
or not. So calling this in fs/autofs4/expire.c:autofs4_tree_busy() is
definitely the wrong thing to do becuase it will silently umount entries
instead of just cleaning stale dentrys.
But this call shouldn't be needed and testing shows that automounting
continues to function without it.
As Al Viro correctly surmises the original intent of the call was to
perform what shrink_dcache_parent() does.
If at some time in the future I see stale dentries accumulating
following failed mounts I'll revisit the issue and possibly add a
shrink_dcache_parent() call if needed.
Signed-off-by: Ian Kent <raven@themaw.net>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/autofs4')
-rw-r--r-- | fs/autofs4/expire.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c index a7be57e39be7..8fa3895cda02 100644 --- a/fs/autofs4/expire.c +++ b/fs/autofs4/expire.c | |||
@@ -255,12 +255,6 @@ static int autofs4_tree_busy(struct vfsmount *mnt, | |||
255 | struct autofs_info *ino = autofs4_dentry_ino(p); | 255 | struct autofs_info *ino = autofs4_dentry_ino(p); |
256 | unsigned int ino_count = atomic_read(&ino->count); | 256 | unsigned int ino_count = atomic_read(&ino->count); |
257 | 257 | ||
258 | /* | ||
259 | * Clean stale dentries below that have not been | ||
260 | * invalidated after a mount fail during lookup | ||
261 | */ | ||
262 | d_invalidate(p); | ||
263 | |||
264 | /* allow for dget above and top is already dgot */ | 258 | /* allow for dget above and top is already dgot */ |
265 | if (p == top) | 259 | if (p == top) |
266 | ino_count += 2; | 260 | ino_count += 2; |