* autofs does not umount
@ 2009-08-27 22:28 Aaron Straus
2009-08-27 23:27 ` Aaron Straus
0 siblings, 1 reply; 9+ messages in thread
From: Aaron Straus @ 2009-08-27 22:28 UTC (permalink / raw)
To: Ian Kent, autofs
Hi all,
I was testing kernel 2.6.31-rc7 and noticed that autofs4 doesn't seem
to be umounting file systems anymore.
In particular after the timeout expires file systems seem to stay
mounted. Furthermore if I do a umount of the file system by hand it
works i.e. the file system isn't busy. Also sending a USR1 signal to
the automount process does not cause an umount either.
I've initially observed this behavior with NFS mounts, but set up just
a single, local bind mount (in the automount tables) and the bad
behavior is still there.
I reverted to 2.6.30.5 and automount works as expected. This is on a
Ubuntu Hardy system running the autofs 4.1.4+debian-2.1ubuntu1 package.
Anybody else having this problem? Any additional info I can provide?
Thanks,
=a=
--
===================
Aaron Straus
aaron@merfinllc.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-27 22:28 autofs does not umount Aaron Straus
@ 2009-08-27 23:27 ` Aaron Straus
2009-08-27 23:56 ` Ian Kent
0 siblings, 1 reply; 9+ messages in thread
From: Aaron Straus @ 2009-08-27 23:27 UTC (permalink / raw)
To: Ian Kent, autofs; +Cc: viro
[-- Attachment #1.1: Type: text/plain, Size: 1239 bytes --]
On Aug 27 03:28 PM, Aaron Straus wrote:
> I was testing kernel 2.6.31-rc7 and noticed that autofs4 doesn't seem
> to be umounting file systems anymore.
>
> In particular after the timeout expires file systems seem to stay
> mounted. Furthermore if I do a umount of the file system by hand it
> works i.e. the file system isn't busy. Also sending a USR1 signal to
> the automount process does not cause an umount either.
>
> I've initially observed this behavior with NFS mounts, but set up just
> a single, local bind mount (in the automount tables) and the bad
> behavior is still there.
>
> I reverted to 2.6.30.5 and automount works as expected. This is on a
> Ubuntu Hardy system running the autofs 4.1.4+debian-2.1ubuntu1 package.
>
> Anybody else having this problem? Any additional info I can provide?
Update. Bisection seems to yield this as the first bad commit:
commit 9393bd07cf218ca51d0e627653f906a9d76a9131
Author: Al Viro <viro@zeniv.linux.org.uk>
Date: Sat Apr 18 13:58:15 2009 -0400
switch follow_down()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al CC'd.
Thanks!
=a=
--
===================
Aaron Straus
aaron@merfinllc.com
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
[-- Attachment #2: Type: text/plain, Size: 140 bytes --]
_______________________________________________
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-27 23:27 ` Aaron Straus
@ 2009-08-27 23:56 ` Ian Kent
2009-08-28 0:15 ` Aaron Straus
0 siblings, 1 reply; 9+ messages in thread
From: Ian Kent @ 2009-08-27 23:56 UTC (permalink / raw)
To: Aaron Straus; +Cc: autofs, viro
Aaron Straus wrote:
> On Aug 27 03:28 PM, Aaron Straus wrote:
>> I was testing kernel 2.6.31-rc7 and noticed that autofs4 doesn't seem
>> to be umounting file systems anymore.
>>
>> In particular after the timeout expires file systems seem to stay
>> mounted. Furthermore if I do a umount of the file system by hand it
>> works i.e. the file system isn't busy. Also sending a USR1 signal to
>> the automount process does not cause an umount either.
>>
>> I've initially observed this behavior with NFS mounts, but set up just
>> a single, local bind mount (in the automount tables) and the bad
>> behavior is still there.
>>
>> I reverted to 2.6.30.5 and automount works as expected. This is on a
>> Ubuntu Hardy system running the autofs 4.1.4+debian-2.1ubuntu1 package.
>>
>> Anybody else having this problem? Any additional info I can provide?
>
> Update. Bisection seems to yield this as the first bad commit:
>
> commit 9393bd07cf218ca51d0e627653f906a9d76a9131
> Author: Al Viro <viro@zeniv.linux.org.uk>
> Date: Sat Apr 18 13:58:15 2009 -0400
>
> switch follow_down()
>
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
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.
Ian
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-27 23:56 ` Ian Kent
@ 2009-08-28 0:15 ` Aaron Straus
2009-08-28 2:22 ` Ian Kent
0 siblings, 1 reply; 9+ messages in thread
From: Aaron Straus @ 2009-08-28 0:15 UTC (permalink / raw)
To: Ian Kent; +Cc: autofs, viro
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:10:49 catfish automount[8460]: starting automounter version 4.1.4, path = /home, maptype = file, mapname = /etc/auto.home
Aug 27 17:10:49 catfish automount[8460]: mount(bind): bind_works = 1
Aug 27 17:10:49 catfish automount[8460]: using kernel protocol version 4.01
Aug 27 17:10:49 catfish automount[8460]: using timeout 300 seconds; freq 75 secs
Aug 27 17:10:53 catfish automount[8460]: handle_packet: type = 0
Aug 27 17:10:53 catfish automount[8460]: handle_packet_missing: token 78, name aaron
Aug 27 17:10:53 catfish automount[8460]: attempting to mount entry /home/aaron
Aug 27 17:10:53 catfish automount[8466]: lookup(file): aaron -> :/srv/home/aaron
Aug 27 17:10:53 catfish automount[8466]: parse(sun): expanded entry: :/srv/home/aaron
Aug 27 17:10:53 catfish automount[8466]: parse(sun): gathered options:
Aug 27 17:10:53 catfish automount[8466]: parse(sun): dequote("/srv/home/aaron") -> /srv/home/aaron
Aug 27 17:10:53 catfish automount[8466]: parse(sun): core of entry: options=, loc=/srv/home/aaron
Aug 27 17:10:53 catfish automount[8466]: parse(sun): mounting root /home, mountpoint aaron, what /srv/home/aaron, fstype nfs, options (null)
Aug 27 17:10:53 catfish automount[8466]: mount(nfs): root=/home name=aaron what=/srv/home/aaron, fstype=nfs, options=(null)
Aug 27 17:10:53 catfish automount[8466]: mount(nfs): aaron is local, doing bind
Aug 27 17:10:53 catfish automount[8466]: mount(bind): calling mkdir_path /home/aaron
Aug 27 17:10:53 catfish automount[8466]: mount(bind): calling mount --bind -s -o defaults /srv/home/aaron /home/aaron
Aug 27 17:10:53 catfish automount[8466]: mount(bind): mounted /srv/home/aaron type bind on /home/aaron
Aug 27 17:10:53 catfish automount[8460]: handle_child: got pid 8466, sig 0 (0), stat 0
Aug 27 17:10:53 catfish automount[8460]: sig_child: found pending iop pid 8466: signalled 0 (sig 0), exit status 0
Aug 27 17:10:53 catfish automount[8460]: send_ready: token=78
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
Aug 27 17:11:01 catfish automount[8460]: get_pkt: state 3, next 1
Aug 27 17:11:01 catfish automount[8460]: st_ready(): state = 3
Aug 27 17:11:10 catfish automount[8460]: sig 12 switching from 1 to 5
Aug 27 17:11:10 catfish automount[8460]: get_pkt: state 1, next 5
Aug 27 17:11:10 catfish automount[8460]: prep_shutdown: state = 1
Aug 27 17:11:10 catfish automount[8460]: signal_children: send 12 to process group 8460
Aug 27 17:11:10 catfish automount[8460]: expire_proc: exp_proc=8485
Aug 27 17:11:10 catfish automount[8460]: prep_shutdown: expire returns 1
Aug 27 17:11:10 catfish automount[8460]: handle_child: got pid 8485, sig 0 (0), stat 0
Aug 27 17:11:10 catfish automount[8460]: sigchld: exp 8485 finished, switching from 5 to 6
Aug 27 17:11:10 catfish automount[8460]: get_pkt: state 5, next 6
Aug 27 17:11:10 catfish automount[8460]: umount_multi: path=/home incl=0
Aug 27 17:11:10 catfish automount[8460]: umount_multi: no mounts found under /home
Aug 27 17:11:10 catfish automount[8460]: shut down, path = /home
--
===================
Aaron Straus
aaron@merfinllc.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-28 0:15 ` Aaron Straus
@ 2009-08-28 2:22 ` Ian Kent
2009-08-28 5:41 ` Ian Kent
0 siblings, 1 reply; 9+ messages in thread
From: Ian Kent @ 2009-08-28 2:22 UTC (permalink / raw)
To: Aaron Straus; +Cc: autofs, viro
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 <raven@themaw.net>
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;
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-28 2:22 ` Ian Kent
@ 2009-08-28 5:41 ` Ian Kent
2009-08-28 16:43 ` Aaron Straus
0 siblings, 1 reply; 9+ messages in thread
From: Ian Kent @ 2009-08-28 5:41 UTC (permalink / raw)
To: Aaron Straus; +Cc: autofs, viro
Ian Kent wrote:
> 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 <raven@themaw.net>
>
> 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)) {
My bad, sorry.
I think that really should be path.mnt not &path.mnt.
Ian
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-28 5:41 ` Ian Kent
@ 2009-08-28 16:43 ` Aaron Straus
2009-08-31 3:37 ` Ian Kent
0 siblings, 1 reply; 9+ messages in thread
From: Aaron Straus @ 2009-08-28 16:43 UTC (permalink / raw)
To: Ian Kent; +Cc: autofs, viro
Hi,
On Aug 28 01:41 PM, Ian Kent wrote:
> > - if (!may_umount_tree(mnt)) {
> > + if (!may_umount_tree(&path.mnt)) {
>
> My bad, sorry.
> I think that really should be path.mnt not &path.mnt.
Yep. I confirm the fixed-up patch fixes the problems I'm seeing.
Thanks for the help!!
=a=
--
===================
Aaron Straus
aaron@merfinllc.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-28 16:43 ` Aaron Straus
@ 2009-08-31 3:37 ` Ian Kent
2009-09-12 15:40 ` Al Viro
0 siblings, 1 reply; 9+ messages in thread
From: Ian Kent @ 2009-08-31 3:37 UTC (permalink / raw)
To: Al Viro; +Cc: autofs mailing list, Aaron Straus
Aaron Straus wrote:
> Hi,
>
> On Aug 28 01:41 PM, Ian Kent wrote:
>>> - if (!may_umount_tree(mnt)) {
>>> + if (!may_umount_tree(&path.mnt)) {
>> My bad, sorry.
>> I think that really should be path.mnt not &path.mnt.
>
> Yep. I confirm the fixed-up patch fixes the problems I'm seeing.
Al,
Would you like me to post my corrected patch to LKML (to akpm or ??) or
would you like to take care of it?
Ian
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: autofs does not umount
2009-08-31 3:37 ` Ian Kent
@ 2009-09-12 15:40 ` Al Viro
0 siblings, 0 replies; 9+ messages in thread
From: Al Viro @ 2009-09-12 15:40 UTC (permalink / raw)
To: Ian Kent; +Cc: autofs mailing list, Aaron Straus
On Mon, Aug 31, 2009 at 11:37:16AM +0800, Ian Kent wrote:
> Aaron Straus wrote:
> > Hi,
> >
> > On Aug 28 01:41 PM, Ian Kent wrote:
> >>> - if (!may_umount_tree(mnt)) {
> >>> + if (!may_umount_tree(&path.mnt)) {
> >> My bad, sorry.
> >> I think that really should be path.mnt not &path.mnt.
> >
> > Yep. I confirm the fixed-up patch fixes the problems I'm seeing.
>
> Al,
>
> Would you like me to post my corrected patch to LKML (to akpm or ??) or
> would you like to take care of it?
My apologies, both for the original breakage and late reply ;-/
Along with belated ACK on the fix.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-09-12 15:40 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-27 22:28 autofs does not umount Aaron Straus
2009-08-27 23:27 ` Aaron Straus
2009-08-27 23:56 ` Ian Kent
2009-08-28 0:15 ` Aaron Straus
2009-08-28 2:22 ` Ian Kent
2009-08-28 5:41 ` Ian Kent
2009-08-28 16:43 ` Aaron Straus
2009-08-31 3:37 ` Ian Kent
2009-09-12 15:40 ` Al Viro
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.