aboutsummaryrefslogtreecommitdiffstats
path: root/fs/autofs4
diff options
context:
space:
mode:
authorDavid Jeffery <djeffery@redhat.com>2013-05-06 13:49:30 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-05-11 13:38:00 -0700
commiteda948e04f7804886db45005eae5793a6ffb0bbc (patch)
tree5a302309a7a319867b3ebf332e55e5f648fa4632 /fs/autofs4
parent5013bcf5cbd6969b8873b964e0d7aaab430cf643 (diff)
downloadkernel_samsung_aries-eda948e04f7804886db45005eae5793a6ffb0bbc.zip
kernel_samsung_aries-eda948e04f7804886db45005eae5793a6ffb0bbc.tar.gz
kernel_samsung_aries-eda948e04f7804886db45005eae5793a6ffb0bbc.tar.bz2
autofs - remove autofs dentry mount check
commit ce8a5dbdf9e709bdaf4618d7ef8cceb91e8adc69 upstream. 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> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/autofs4')
-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 450f529..2c69d12 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)
/* This is an autofs submount, we can't expire it */
if (autofs_type_indirect(sbi->type))
goto done;
-
- /*
- * Otherwise it's an offset mount and we need to check
- * if we can umount its mount, if there is one.
- */
- if (!d_mountpoint(path.dentry)) {
- status = 0;
- goto done;
- }
}
/* Update the expiry counter if fs is busy */