Date: Fri, 30 Mar 2001 00:01:35 -0800 (PST) From: Poul-Henning Kamp <phk@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sbin/fsck fsck.8 fsck.c fsutil.h preen.c Message-ID: <200103300801.f2U81ZJ82659@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
phk 2001/03/30 00:01:35 PST
Modified files:
sbin/fsck fsck.8 fsck.c fsutil.h preen.c
Log:
This change sanitizes the way fsck deals with pass numbers.
Consider this /etc/fstab:
# Device Mountpoint FStype Options Dump Pass#
/dev/ad1s1b none swap sw 0 0
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 1 1
/dev/ad0s1e /home ufs rw 2 2
/dev/ad1s1e /tmp ufs rw 2 2
/dev/ad1s1f /usr ufs rw 2 2
/dev/ccd0c /syv ufs rw 2 11
proc /proc procfs rw 0 0
ccd0c is striped over /dev/ad0f and /dev/ad1g
Without this pass, fsck in preen mode will check ad0s1a first,
and then issue three processes in parallel:
One process doing ad0s1e
One process doing ad1s1e and ad1s1f
One process doing ccd0c
There is no way to tell it that ccd0c overlaps ad0 and ad1.
With the patch, it will do it this way:
pass 2:
One process doing ad0s1e
One process doing ad1s1e and ad1s1f
and when they are complete:
pass 11:
One process doing ccd0c
This is much faster and more sane.
Valid pass numbers are anything from 1 to INTMAX-1.
I retired the '-l' option which tried to allow people to do
something like this, but which didn't work and which complicated
the code an awful lot.
Revision Changes Path
1.22 +17 -10 src/sbin/fsck/fsck.8
1.4 +3 -4 src/sbin/fsck/fsck.c
1.2 +2 -2 src/sbin/fsck/fsutil.h
1.22 +46 -49 src/sbin/fsck/preen.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103300801.f2U81ZJ82659>
