DragonFly kernel List (threaded) for 2005-07
Filesystem Journaling Update - July 2005
The current state of journaling is that the kernel is now doing most
of the logging for the forward journaling direction and the user jscan
utility is now able to parse most of the record types and generate a
mirror of a filesystem being journaled. In fact, if you pipe the
journaling descriptor to jscan the mirror will be made in real time.
There are a ton of things that still need to be done to make it robust,
such as dealing with connection failures, the acknowledgement stream,
making jscan handle a bunch of VOPs that it does not yet handle when
mirroring (softlinks and hardlinks mainly), generating UNDO records to
allow the journal to be reversable, rotating journaling files, and so
on and so forth.
Even though there is still a huge amount of work to be done, the only
truely difficult piece that is left is generating the UNDO records. I
consider jscan's ability to parse the journaling stream and generate a
mirror to be a major milestone in my journaling efforts!
Also, I am hoping the fact that most of the TODO list involves jscan,
a user utility, will encourage other interested parties to start working
on beefing it up. The manual page has the basic concept for what I want
jscan to become, but right now only the -d (debug) and -m (mirror) options
The journaling is still considered for testing only. jscan is rather
fragile :-) and if the stream gets stalled the filesystem will lock up
which is obviously not desireable.