Patchwork [3.5.y.z,extended,stable] Patch "autofs - remove autofs dentry mount check" has been added to staging queue

mail settings
Submitter Luis Henriques
Date May 15, 2013, 10:34 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/244037/
State New
Headers show


Luis Henriques - May 15, 2013, 10:34 a.m.
This is a note to let you know that I have just added a patch titled

    autofs - remove autofs dentry mount check

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see



From e89a48b8a2e82565e07c6b553439b95bd87a9db0 Mon Sep 17 00:00:00 2001
From: David Jeffery <>
Date: Mon, 6 May 2013 13:49:30 +0800
Subject: [PATCH] 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

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 <>
Signed-off-by: Ian Kent <>
Signed-off-by: Linus Torvalds <>
Signed-off-by: Luis Henriques <>
 fs/autofs4/expire.c | 9 ---------
 1 file changed, 9 deletions(-)



diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c
index 1feb68e..b1cdb0a 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 */