DragonFly kernel List (threaded) for 2004-01
Re: Background fsck
:Matthew Dillon wrote:
:> You would still lose data with a meta-data-only journal, just not as
:> much, but meta-data logs have a lot of flexibility, it would be possible
:> to make certain guarentees and it is also possible to log file data
:> as well as meta-data when the circumstances dictate.
:What about in the case of metadata+data journaling (synchronous). I
:guess performance-wise this is worse than a regular sync mounted FS?
Yes, because you are writing the data twice. But full journaling
has some major advantages as well. If we journal both the 'old'
data and the 'new' data then the log can not only be replayed
backwards OR forwards, but it can also be spooled off-machine
(like over a network) in order to achieve a near real-time backup
of your filesystems *AND* a full journal also makes it possible
to implement arbitrary as-of snapshots after the fact, so you
could for example do something like 'mount snapshot of /usr as of
10 minutes ago' (assuming your journal is large enough to hold
the last 10 minutes worth of changes).
It's actually far easier to build a filesystem with full journaling
then it is to build a filesystem with only meta-data journaling.
And there are plenty of situations where these features can be
far more important then write performance.
David Rhodus and I are working up a kernel API to support journaling
hooks into a filesystem. I need to dig into the coding a bit before
I'm willing to post it, though.