Subject: Re: bin/1219: [dM] fsck is too aggressive about clean flags
To: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
From: Chris G Demetriou <Chris_G_Demetriou@BALVENIE.PDL.CS.CMU.EDU>
List: netbsd-bugs
Date: 07/13/1995 06:37:08
> >> [...fsck now] will refuse to check a marked-clean filesystem even if
> >> you specifically give the disk device name.
> 
> > there is every possibility (and, indeed, it's almost always the case
> > when _i_ use fsck in this way) that if the file system is clean, they
> > don't want it to be rechecked.  those people who REALLY want it
> > checked can, upon seeing the message, say fsck -f ...
> 
> Hm, my reaction is to remark that if we're going to be resorting to
> personal usage desires, when I tell fsck to check /dev/foo, I damn well
> want it to check /dev/foo (the NOT A CHARACTER DEVICE / CONTINUE?
> question is obnoxious enough - come to think of it, I should downgrade
> that to a non-question message), and that people who want to skip clean
> filesystems can type ^C upon seeing the "already clean" message.

it's not a question of "personal taste," it's an interpretation of the
meaning of the clean flag.

To my mind, the 'correct' meaning of the clean flag is:
	THE FILE SYSTEM IS CLEAN.
What you specify on the command line, doesn't change whether or not
the file system is clean.


If there is going to be an option to fsck that determines whether or
not a file system is to be checked in spite of the clean flag (and
there must be), then it should be applied consistently.

That is:
	(1) if the option is specified, file systems will be checked
		in spite of the clean flag, or
	(2) if the option is not specified, file systems will be
		checked only if not clean.

If you do anything else, to support a full set of functionality, you
have to add _another_ flag, to fill in the cases that were avoided by
the bad choice of option behaviour.


In particular, as i've stated, the ability to make sure that file
systems not in /etc/fstab are clean (w/o having to _always_ completely
fsck them) is very useful.  there's no way to do it, given what you
think should happen if file systems are specified on the command line,
unless one adds another flag.  That's silly.


it sounds to me like you want to put:
	alias fsck fsck -f
in your .cshrc, or whatever, or something similar.



cgd