fsck talk
Pav Lucistnik
pav at FreeBSD.org
Thu Oct 19 18:11:37 UTC 2006
I was poking around /etc/rc.d/fsck today, and I figured out a few
interesting things.
Think three large partitions, for example:
/dev/aacd0s1e /a
/dev/aacd1s1e /b
/dev/aacd2s1e /c
Now, disable background fsck and enable -y flag in rc.conf:
background_fsck="NO"
fsck_y_enable="YES"
Now imagine a power failure. On reboot, fsck -p manages to mark /a
and /b clean, but fails on /c.
Next, fsck -y is executed, which goes over /a again, then over /b and
then finally over /c.
Two problems here:
1) fsck -y does not skip filesystems already cleaned in preen run,
because fsck_ffs only skips clean filesystems in preen mode.
2) fsck -y runs forever, because fsck does execute the jobs in parallel
only in preen mode.
Proposed solutions to problem 1:
- change the behaviour of fsck_ffs when executed on clean filesystem,
like this:
fsck -y /a
to skip it with message 'already clean'. There is a -f flag for
people who really want to do a fsck.
- add a new flag to fsck_ffs that will skip clean filesystems in
non-preen mode
Plus
- when user sets fsck_y_enable, we can just skip the preen run entirely,
under the condition that one of the above was implemented. That's
another speedup.
Proposed solutions to problem 2:
- change fsck to parallelize jobs in non-preen mode by default
- add a flag to fsck to parallelize jobs in non-preen mode
Comments?
--
Pav Lucistnik <pav at oook.cz>
<pav at FreeBSD.org>
The hottest spot in the solar system is neither Mercury, Venus,
nor St. Louis in the summer.
-- WUSTL Press Release
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?=
=?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?=
=?ISO-8859-1?Q?_zpr=E1vy?=
Url : http://lists.freebsd.org/pipermail/freebsd-rc/attachments/20061019/54536b0b/attachment.pgp
More information about the freebsd-rc
mailing list