Re: HURD not unmounting disks cleanly (not the old problem)
Date: Mon, 23 Aug 1999 13:18:02 +0200
From: Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>
On Mon, Aug 23, 1999 at 09:58:18AM +0200, Pontus Lidman wrote:
> HURD doesn't seem to unmount my disks cleanly when I reboot using the
> "reboot" command. I saw this covered in a previous message on this list to
> which Marcus replied that the newer versions of the Debian packages will
> indeed unmount disks cleanly unless sysvinit is installed.
I don't remember saying something like this, but I may have thought so for a
while.
Fact is that nobody knows under which circumstances disks are not unmounted
cleanly. I *know* that when you fsck under linux, you get a clean disk at
next reboot, and if you don't screw up, it stays clean. But when you fsck
under Hurd during boot time, it does not end up clean. I am not sure what
happens if you e2fsck under Hurd manually (forcing).
Since I'm using split-init, my root filesystem is never unmounted
cleanly. Other filesystems sometimes are unmounted cleanly and
sometimes are not unmounted cleanly (just like the root filesystem
before split-init).
I usually do
# settrans -a /mnt/*
before rebooting. This way I can avoid having to fsck the filesystems
that I MIGHT have used under the Hurd. Of course this only works if
your mount points live in the /mnt/ directory.
AFAICT fsck works perfectly under the Hurd. Don't execute e2fsck
manually though. You risk checking a mounted filesystem that way,
which is not a good thing to do. The fsck wrapper makes sure this
won't happen (although accessing the partition while fsck is running
is still a bad idea).
If somebody is annoyed enough by this problem he/she should try to
debug it. Using gdb is probably not possible (although debugging a
sub-hurd might work), so try to add some printf's at strategous places
in the init and ext2fs code.
Mark
Reply to: