On Thu, 27 Aug 2009, Aaron Straus wrote:

> Hi,
> 
> On Aug 28 07:56 AM, Ian Kent wrote:
> > That commit certainly looks OK, a straight conversion to use struct path.
> > 
> > How about a debug log from autofs so we can try to find out what bit is
> > actually going wrong.
> 
> Sure.
> 
> This is auto.master:
> /home /etc/auto.home
> 
> This is auto.home:
> aaron :/srv/home/aaron
> 
> This is the syslog with the -d option to automount.  Below you'll see me
> sending a USR1 signal to the automount process, but the umount not
> happening.  After this I just umount /home/aaron by hand and then stop
> automounter...
> 
> Aug 27 17:11:01 catfish automount[8460]: sig 10 switching from 1 to 3
> Aug 27 17:11:01 catfish automount[8460]: get_pkt: state 1, next 3
> Aug 27 17:11:01 catfish automount[8460]: st_prune(): state = 1 
> Aug 27 17:11:01 catfish automount[8460]: signal_children: send 10 to process 
> group 8460
> Aug 27 17:11:01 catfish automount[8460]: expire_proc: exp_proc=8469
> Aug 27 17:11:01 catfish automount[8469]: expire_proc: 1 remaining in /home 
> Aug 27 17:11:01 catfish automount[8460]: handle_child: got pid 8469, sig 0 
> (0), stat 1 
> Aug 27 17:11:01 catfish automount[8460]: sigchld: exp 8469 finished, 
> switching from 3 to 1

Right, it isn't seeing the mount as expirable.

It's likely due to a missed case in the conversion to use struct path.

Could you test with this patch please.

autofs4 - 2.6.31-rc8 fix

From: Ian Kent <[email protected]>

Looks like we missed one case when we converted to use struct path.
---

 fs/autofs4/expire.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c
index aa39ae8..1294704 100644
--- a/fs/autofs4/expire.c
+++ b/fs/autofs4/expire.c
@@ -77,7 +77,7 @@ static int autofs4_mount_busy(struct vfsmount *mnt, struct 
dentry *dentry)
        }
 
        /* Update the expiry counter if fs is busy */
-       if (!may_umount_tree(mnt)) {
+       if (!may_umount_tree(&path.mnt)) {
                struct autofs_info *ino = autofs4_dentry_ino(top);
                ino->last_used = jiffies;
                goto done;

_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to