[20080302]
|
Wasabi Systems contributes journaling support for FFS
While NetBSD's Fast File System (FFS) is all fine and dandy, one major
drawback is that if the system does down unexpectedly, the filesystem is
in an unknown state, and it has to be checked on the next system startup.
Those fsck(8) runs can take quite some time, which is highly unpleasant.
Alternatives include running fsck(8) in the background, and -- as implemented
by the majority of filesystems today -- keeping the actual filesystem
in a consistent state, and first writing changes to a journal which is
then applied to the filesystem in a second step. If a crash occurs, the
file system is in a consistent state, either at the point in time before
the journal was started, or after it was finished. If the system crashes
in between, the changes can be undone.
See
Wikipedia's entry on journaling file systems
for more details.
So far, NetBSD has offered the Log-structured File System (LFS)
for logging, but that never went beyond experimental state.
Wasabi Systems, vendor offering NetBSD-based storage solutions, has
offered a version of FFS that does journaling for some time, and
they have contributed their implementation to the NetBSD project
now, as
announced by Wasabi Systems' Simon Burge:
``Wasabi Systems Inc is pleased to make our journaling code available
to the NetBSD community. This code is known as WAPBL - Write Ahead
Physical Block Logging, and has been used to provide meta-data
journaling in production environments for over 4 years. WAPBL
journals meta-data only - not file data, and has been used on
filesystems ranging from from 16MB to multiple terabytes in size.''
Please see
Simon's posting
for more information about the state of the code, how it works,
and how to use it.
While here, one could be musing why Wasabi is contributing this to
the NetBSD project at this time. The file system code this is based
on is under the BSD license, so adding e.g. journaling can be kept
private and there's no need to publish those changes. But software is
a moving target, and so is NetBSD's file system implementation, which
is undergoing great changes for fine-grained in-kernel locking and
SMP right now. This means large maintenance efforts for derived code,
and one could guess that Wasabi choose the step to contribute the
code to the NetBSD project to get this maintenance for free. Of course
the benefit to the community is that there's a journaling file system
available now. Which I find is great! :-)
[Tags: ffs, journaling]
|