diff options
author | David Jeffery <djeffery@redhat.com> | 2013-05-06 01:49:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-06 16:06:59 -0400 |
commit | ce8a5dbdf9e709bdaf4618d7ef8cceb91e8adc69 (patch) | |
tree | 39b64a674fd616c0e50f07d3d042dc71e2c4d380 | |
parent | 954829863d3017d1c14600c975f9b92696d36836 (diff) |
autofs - remove autofs dentry mount check
When checking if an autofs mount point is busy it isn't sufficient to
only check if it's a mount point.
For example, if the mount of an offset mountpoint in a tree is denied
for this host by its export and the dentry becomes a process working
directory the check incorrectly returns the mount as not in use at
expire.
This can happen since the default when mounting within a tree is
nostrict, which means ingnore mount fails on mounts within the tree and
continue. The nostrict option is meant to allow mounting in this case.
Signed-off-by: David Jeffery <djeffery@redhat.com>
Signed-off-by: Ian Kent <raven@themaw.net>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/autofs4/expire.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c index 01443ce43ee7..13ddec92341c 100644 --- a/fs/autofs4/expire.c +++ b/fs/autofs4/expire.c | |||
@@ -61,15 +61,6 @@ static int autofs4_mount_busy(struct vfsmount *mnt, struct dentry *dentry) | |||
61 | /* This is an autofs submount, we can't expire it */ | 61 | /* This is an autofs submount, we can't expire it */ |
62 | if (autofs_type_indirect(sbi->type)) | 62 | if (autofs_type_indirect(sbi->type)) |
63 | goto done; | 63 | goto done; |
64 | |||
65 | /* | ||
66 | * Otherwise it's an offset mount and we need to check | ||
67 | * if we can umount its mount, if there is one. | ||
68 | */ | ||
69 | if (!d_mountpoint(path.dentry)) { | ||
70 | status = 0; | ||
71 | goto done; | ||
72 | } | ||
73 | } | 64 | } |
74 | 65 | ||
75 | /* Update the expiry counter if fs is busy */ | 66 | /* Update the expiry counter if fs is busy */ |