Back to list

Journaled Soft-updates

Marshall Kirk McKusick and Jeffery Roberson
Author Description:
Dr. Marshall Kirk McKusick writes books and articles, teaches
classes on UNIX- and BSD-related subjects, and provides
expert-witness testimony on software patent, trade secret,
and copyright issues particularly those related to operating
systems and filesystems. He has been a developer and commiter
to the FreeBSD Project since its founding in 1994. While
at the University of California at Berkeley, he implemented
the 4.2BSD fast filesystem and was the Research Computer
Scientist at the Berkeley Computer Systems Research Group
(CSRG) overseeing the development and release of 4.3BSD and
4.4BSD. He earned his undergraduate degree in electrical
engineering from Cornell University and did his graduate
work at the University of California at Berkeley, where he
received master's degrees in computer science and business
administration and a doctoral degree in computer science.
He has twice been president of the board of the Usenix
Association, is currently a member of the editorial board
of ACM's Queue magazine, and is a member of the Usenix
Association and ACM, and is a senior member of the IEEE.

In his spare time, he enjoys swimming, scuba diving, and
wine collecting. The wine is stored in a specially
constructed wine cellar (accessible from the Web at in the basement of the
house that he shares with Eric Allman, his domestic partner
of 30-and-some-odd years.
This paper describes the work to add ``journaling lite'' to soft
updates and its incorporation into the FreeBSD fast file system.
Because soft updates prevent most inconsistencies, the journaling
need only deal with tracking those inconsistencies that soft updates
fails to address. Specifically, the journal contains the information
needed to recover the block and inode resources that have been freed
but whose freed status failed to make it to disk before a system
failure. After a crash, a variant of the venerable ``fsck'' program
runs through the journal to identify and free the lost resources.
Only if a corruption of the log is detected is it necessary to run
background ``fsck''. The journal is tiny, 16Mb is usually enough
independent of file system size. Although journal processing needs
to be done before restarting, the processing time is typically just
a few seconds and in the worst case a minute. It is not necessary
to build a new filesystem to use soft-updates journaling. The
addition or deletion of soft-updates journaling to existing FreeBSD
fast file systems is done using the ``tunefs'' program.
Target Audience:
Target OS:
Paper Download:
View PDF
Back to list

EuroBSDCon Organizer

see all Sponsors

©2015 · All rights reserved. Imprint