Re: Kernel 2.6.6: Removing the last large file does not reset filesystem properties

From: Oliver Feiler
Date: Tue May 11 2004 - 04:53:05 EST


On Tuesday 11 May 2004 09:49, Andrew Morton wrote:

> > 3: Was using Gimp 2.0 and used a tool. Got a 6 Gig swap file in
> > /tmp/gimp2 (there must be a problem with that tool). Closed gimp, got rid
> > of the swap file. Upon the next boot I got:
> > FAILED!!
> > Dropping to root command line for system maintenance
> > (such fun ... entering the root password got more error messages
> > about missing programmes such as "id" and "test" - well, I have "/usr" on
> > another partition and it was not mounted).
>
> I think this is really an e2fsck/initscript problem.
>
> fsck saw that there were no large files on the fs, then fixed up the
> superblock to say that then returned an exit code which says "I modified
> the fs".
>
> The initscripts see that exit code and have a heart attack.
>
> What should happen is that fsck returns an exit code which says "I modified
> the fs, but everythig is OK". And the initscripts should say "oh, cool"
> and keep booting.
>
> I don't know whether the problem lies with fsck or initscripts.

Yes, it's an issue with the initscripts (I'd say). I stumbled over this
problem as well when upgrading e2fsprogs on a fairly old Slackware install.
From the manpage of fsck:

The exit code returned by fsck is the sum of the following
conditions:
0 - No errors
1 - File system errors corrected
2 - System should be rebooted
[...]

The old Slackware init scripts (from 7.0 days I think) checked

if [ $EXITCODE -gt 1 ] ; then
panic!

Newer fscks however also seem to return exit code 2 for "some errors
corrected, please reboot". In Slack 9's initscripts this was changed to auto
reboot in this case. I think this behaviour was changed in some version of
fsck, but I'm note sure.

But admittedly I also got a slight heart attack when our server stopped
booting with an error from fsck. ;)

Oliver

--
Oliver Feiler - http://kiza.kcore.de/

Attachment: pgp00000.pgp
Description: signature