[Pkg-sysvinit-devel] Bug#568251: Bug#568251: Please support fsck on shutdown

Goswin von Brederlow goswin-v-b at web.de
Wed Feb 10 07:24:44 UTC 2010


Henrique de Moraes Holschuh <hmh at debian.org> writes:

> On Tue, 09 Feb 2010, Goswin von Brederlow wrote:
>> Henrique de Moraes Holschuh <hmh at debian.org> writes:
>> > Sort of.  Boot either has to check any dirty filesystems, or halt and go
>> > into a sulogin-or-shutdown loop.   You must NOT skip a dirty filesystem
>> > check at boot and continue with system startup, EVER.  We can't even offer
>> > that as a choice, it is known to cause worse data loss if the fs is corrupt.
>> 
>> I think you mean filesystem with errors instead of dirty. A dirty
>
> Yes.  But how can you know that a dirty fs is not corrupt without a fsck?
>
>> ext3/4, xfs or reiserfs just needs a journal replay. Didn't think of the
>
> Depends on the underlying storage.  A power loss event and use of write
> caches in the wrong way can corrupt ext3/4/xfs.  Also, corruption is very
> likely if such an event happens in many types of flash-based storage as it
> will hork an entire flash erase block.
>
>> error case though. Filesystems might have gotten the error bit set
>> during operations.
>
> That's another possibility, yes.
>
>> But I'm not sure that changes anything in the suggested behaviour. On
>> shutdown it would do the same as during boot, except prompt for the root
>> password. It always continous on shutdown no matter how bad the check
>> was.
>
> Well, whatever trick we will use to avoid periodic fsck on *boot* must NOT
> cause a dirty filesystem check to be skipped.  That's all I am saying.
>
> And, AFAIK, the only way to do that right now is to disable the periodic
> triggers in the filesystems, and implement the periodic trigger entirely in
> the initscripts, so that we can ignore it on boot, but honour it on
> shutdown.

The suggestion here is far simpler. Just do it on boot like now and on
shutdown without ever blocking. That would mean that on boot under
normal operations the filesystem never has the mount count reached or is
too old. Only after a crash or a filesystems with errors would be
checked during boot.

MfG
        Goswin





More information about the Pkg-sysvinit-devel mailing list