BSDCon 2002 Abstract
Running "fsck" in the Background
Marshall Kirk McKusick,
Author and Consultant
Traditionally, recovery of a BSD fast filesystem after an
uncontrolled system crash such as a power failure or a system
panic required the use of the filesystem checking program,
"fsck". Because the filesystem cannot be used while it is
being checked by "fsck", a large server may experience unacceptably long periods of unavailability after a crash.
Rather than write a new version of "fsck" that can run on
an active filesystem, I have added the ability to take a snapshot
of a filesystem partition to create a quiescent filesystem on
which a slightly modified version of the traditional "fsck" can
A key feature of these snapshots is that they usually
require filesystem write activity to be suspended for less than
one second. The suspension time is independent of the size of
the filesystem. To reduce the number and types of corruption,
soft updates were added to ensure that the only filesystem inconsistencies are lost resources. With these two additions it is
now possible to bring the system up immediately after a crash and
then run checks to reclaim the lost resources on the active
Background "fsck" runs by taking a snapshot and then running its traditional first four passes to calculate the correct
bitmaps for the allocations in the filesystem snapshot. From
these bitmaps, "fsck" finds any lost resources and invokes special system calls to reclaim them in the underlying active
- View the full text of this paper in
PostScript. Until February 2003, you will need your USENIX membership identification in order to access the full papers.
The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.