aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Jeffery <djeffery@redhat.com>2013-05-06 01:49:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-06 16:06:59 -0400
commitce8a5dbdf9e709bdaf4618d7ef8cceb91e8adc69 (patch)
tree39b64a674fd616c0e50f07d3d042dc71e2c4d380
parent954829863d3017d1c14600c975f9b92696d36836 (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.c9
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 */