BUG in rmdir changes (was: Strange umount problem under Linux

Matthias Hanisch (matze@camline.com)
Wed, 9 Dec 1998 07:59:27 +0100 (MET)


On Tue, 8 Dec 1998, Alessandro Suardi wrote:

> H.J. Lu wrote:
> >
> > >
> > > I'm getting consistent "can't unmount '/': device busy" messages when I try to
> > > reboot: 'shutdown -r 0' (for kernel upgrades, of course!), since 2.1.130.
> > >
> >
> > It only happens to me under 2.1.131. 2.1.130 is ok.
> >
> > --
> > H.J. Lu (hjl@gnu.org)
> >
>
> 2.1.131 here shows same problem, btw the only stuff to be accessing
> /home is this one. I am running knfsd-981204 (though I didn't patch
> the kernel with HJ's patches, as I only use kNFS on my home ethernet
> and it works fine without patching the kernel).
>
> /home has the problem, / is fine. fuser'ing root shows only normal stuff:
> [...]

I've seen the same behavior and did some more investigations yesterday.
The problem are the rmdir changes in the VFS introduced with 2.1.131.

The busy devices are caused by the removal of an non-existant directory.

Look at the following session:

pingu:~# umount /tmp
pingu:~# mount /tmp
pingu:~# rmdir /tmp/aaaaaaaaaaaaaaaa
rmdir: /tmp/aaaaaaaaaaaaaaaa: No such file or directory
pingu:~# umount /tmp
umount: /tmp: device is busy

I've put some printk's in the umount code and it seems that the root
dentry has d_count = 2 at umount -> BUSY.

This is with vanilla 2.1.131 and 2.1.131ac4, I've not tried later
ac-patches.

Could somebody with dentry knowledge look at the rmdir patches in 2.1.131
or is this alread fixed in ac6?

Matze

--
Matthias Hanisch    gesch.: matze@camline.com    priv.: matze@pingu.franken.de
                            +49 8137 935-219            +49 8441 82387

"Modell 10 - Software from Experts for Experts"

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/