freebsd-dev/sbin/fsck_ffs
Kirk McKusick 776816d32b Speed up fsck by caching the cylinder group maps in pass1 so
that they do not need to be read again in pass5. As this nearly
doubles the memory requirement for fsck, the cache is thrown away
if other memory needs in fsck would otherwise fail. Thus, the
memory footprint of fsck remains unchanged in memory constrained
environments.

This work was inspired by a paper presented at Usenix's FAST '13:
www.usenix.org/conference/fast13/ffsck-fast-file-system-checker

Details of this implementation appears in the April 2013 of ;login:
www.usenix.org/publications/login/april-2013-volume-38-number-2.
A copy of the April 2013 ;login: paper can also be downloaded
from: www.mckusick.com/publications/faster_fsck.pdf.

Reviewed by: kib
Tested by:   Peter Holm
MFC after:   4 weeks
2013-03-22 21:50:43 +00:00
..
dir.c When running with the -d option, instrument fsck_ffs to track the number, 2013-02-24 06:44:29 +00:00
ea.c When running with the -d option, instrument fsck_ffs to track the number, 2013-02-24 06:44:29 +00:00
fsck_ffs.8 Be more helpful about alternate superblocks. 2012-02-10 12:01:19 +00:00
fsck.h Speed up fsck by caching the cylinder group maps in pass1 so 2013-03-22 21:50:43 +00:00
fsutil.c Speed up fsck by caching the cylinder group maps in pass1 so 2013-03-22 21:50:43 +00:00
gjournal.c Fix fsck_ffs build with a 64-bit ino_t. 2012-09-27 23:30:58 +00:00
inode.c Speed up fsck by caching the cylinder group maps in pass1 so 2013-03-22 21:50:43 +00:00
main.c When running with the -d option, instrument fsck_ffs to track the number, 2013-02-24 06:44:29 +00:00
Makefile - Merge soft-updates journaling from projects/suj/head into head. This 2010-04-24 07:05:35 +00:00
pass1.c Speed up fsck by caching the cylinder group maps in pass1 so 2013-03-22 21:50:43 +00:00
pass1b.c The got_siginfo = 0 should have been got_sigalarm=0 to match the other 2004-10-10 06:37:56 +00:00
pass2.c Fix fsck_ffs build with a 64-bit ino_t. 2012-09-27 23:30:58 +00:00
pass3.c
pass4.c Fix fsck_ffs build with a 64-bit ino_t. 2012-09-27 23:30:58 +00:00
pass5.c Speed up fsck by caching the cylinder group maps in pass1 so 2013-03-22 21:50:43 +00:00
setup.c Speed up fsck by caching the cylinder group maps in pass1 so 2013-03-22 21:50:43 +00:00
suj.c Speed up fsck by caching the cylinder group maps in pass1 so 2013-03-22 21:50:43 +00:00
utilities.c Mechanical whitespace cleanup. 2011-04-27 02:55:03 +00:00