NetBSD-Announce archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Metadata journaling support added to FFS



Metadata journaling support added to FFS
========================================

Simon Burge has just added metadata journaling to the FFS (fast file system)
code to NetBSD-current.

The journaling code, known as WAPBL - Write Ahead Physical Block Logging -
was originally written by Darrin B. Jewell for Wasabi Systems, Inc. [1],
and was contributed by Wasabi to the NetBSD community earlier this year.
Wasabi has been shipping WAPBL-enabled products since 2003.

Simon Burge, Greg Oster, Antti Kantee, and Andrew Doran spent quite some
time on integrating this code into NetBSD-current and enhancing it to allow
automatic creation of the journal log area inside existing filesystems to
ease conversion.

They also did some performance benchmarks and WAPBL performs very close to
soft-dependencies mounts, and only slightly slower than (unsafe) async
mounts. In case of a crash or unexpected power loss however, the journaled
file system will not need a lengthy file system check at boot time, but
instead the kernel will replay the log within seconds. This allows faster
crash recovery, less overall downtime and higher availability.

Converting an existing system to use the log feature is as easy as updating
(both kernel and userland), making sure the kernel option WAPBL is selected
(this is the default for GENERIC kernels now), adding a "log" option to
/etc/fstab and rebooting. Note that WAPBL is not compatible with
soft-dependencies, so please ensure that you first remove the "softdep"
option if present. See the wapbl(4) manual page for more information.

The WAPBL feature will be available in the upcoming NetBSD 5.0 release.

Many thanks to Wasabi Systems, Inc. for contributing this code, everyone that
helped to integrate it and especially Simon Burge for his work on the
in-filesystem journal.

Jared D. McNeill
The NetBSD Foundation

[1] http://www.wasabisystems.com/


Home | Main Index | Thread Index | Old Index