mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-24 19:40:21 +09:00
autofs - remove autofs dentry mount check
BugLink: http://bugs.launchpad.net/bugs/1179514
commit ce8a5dbdf9 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>
Signed-off-by: Steve Conklin <sconklin@canonical.com>
This commit is contained in:
committed by
Steve Conklin
parent
ba17f28ef5
commit
7f02a877f3
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user