Subject: Re: Making FFS fsck faster
To: Peter Eisch <peter@boku.net>
From: Eric Haszlakiewicz <erh@jodi.nimenees.com>
List: current-users
Date: 04/21/2005 12:46:23
On Wed, Apr 20, 2005 at 10:44:18AM -0500, Peter Eisch wrote:
> As it's an age-old topic:  An unskilled setting of the passno column in the
> fstab can actually make the fsck take longer.  If it's 1 chunk (plus one for
> swap) you're guaranteed that the fsck of all relevant filesystems will be
> done as quickly as possible.  (Note too that if DocumentRoot or /var/mail
> (as examples) are on one of those partitions, you need to fix-up the rc.d
> dependencies so apps don't start without their data.
> 
> In order for the multi-partitions where the non-critical filesystems
> wouldn't get fsck'd, the fstab entry would need a 'noauto' and then some
> late-boot scripts that initiate the fsck and then mount the partitions.  If
> you're adept at configuring the fstab rc.d scripts correctly, you could
> stand large gains in quickly getting the system responsive but there would
> be the overhead to let it boot without intervention.

	um.. so how do you know when the fsck is done?  If you start a fsck
in the background there doesn't seem to be a way to tell when it's done.
In constrast, if you have a raid setup and start a parity rebuild you can
check it with "raidctl -S", but fsck doesn't have a similar option.
	You could fairly easily write a script that gets run in the background
that runs fsck, then sets a flag file somewhere to indicate when it is done.
But then you still have to hack the rc.d system to work with asynchronous
dependency fulfillment, which it isn't at all ready to do now.
	Or, maybe you could have the scripts that run later check for that flag
file, but then you're essentially building a parallel dependency system
separate from the rcorder system.  In any case, it doesn't seem like a trivial
amount of work to setup.

eric