2004-10-05 10:14:46

by Meelis Roos

[permalink] [raw]
Subject: lazy umount not working (udev & tmpfs on /dev)

Hi, I'm running 2.6.9-rc3+BK (as of yesterday, 20041004) on a couple of
x86 Debian unstable machines with udev and I'm having problems.

In 2.6.3-rc2 all was OK. Don't know exactly about plain -rc3.

In current BK, lazy umount is not working sometimes. udev start script
mounts tmpfs on /dev and stop script does umount -l /dev. This doesn't
return failure but nothing happens, /dev remain mounted and I can't
start udev again. Doing umount -l /dev by hand again finally umounts it
and udev can be started again. Plain umount /dev of course doesn't work
because /dev is busy.

This behaviour is 100% reproducible.

Since 2.6.9-rc2 was OK, I guess this is a bug in current BK?

--
Meelis Roos ([email protected])


2004-10-05 14:29:22

by Al Viro

[permalink] [raw]
Subject: Re: lazy umount not working (udev & tmpfs on /dev)

On Tue, Oct 05, 2004 at 01:11:33PM +0300, Meelis Roos wrote:
> Hi, I'm running 2.6.9-rc3+BK (as of yesterday, 20041004) on a couple of
> x86 Debian unstable machines with udev and I'm having problems.
>
> In 2.6.3-rc2 all was OK. Don't know exactly about plain -rc3.
>
> In current BK, lazy umount is not working sometimes. udev start script
> mounts tmpfs on /dev and stop script does umount -l /dev. This doesn't
> return failure but nothing happens, /dev remain mounted and I can't

It might be not umount, actually - if you get double mount for any
reason, the first umount -l will strip the top layer, leaving whatever's
beneath it.

Could you add printk to sys_mount() and sys_umount(), so that
we could at least see which one is a problem? Just "called mount"/"called
umount", nothing fancy with arguments...

2004-10-05 16:00:32

by Meelis Roos

[permalink] [raw]
Subject: Re: lazy umount not working (udev & tmpfs on /dev)

> Could you add printk to sys_mount() and sys_umount(), so that
> we could at least see which one is a problem? Just "called mount"/"called
> umount", nothing fancy with arguments...

Tried it.
Ignoring matching 2 mounts and 2 umounts for /dev/pts and /dev/shm,
there are exactly 2 mounts on udev start and 2 umounts on udev stop.

--
Meelis Roos ([email protected])