DragonFly BSD
DragonFly commits List (threaded) for 2005-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cvs commit: src/sys/kern vfs_journal.c src/sys/sys journal.h mountctl.h


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 24 Aug 2005 13:47:27 -0700 (PDT)

:>   Implement UNDO records, including writing out file data that is about to
:>   be overwritten and the mtime prior to a write, rename, or remove.  UNDO
:>   records allow us to create a reversable journal, where we can wind a mirror
:>   forwards or backwards simply by scanning the journal forwards or backwards.
:
:Nice. Very nice.

    It's getting there.  95% of the kernel code is operational now.  The
    only thing left on the kernel side is to possibly add some additional
    information to make undo'ing removed hardlinks easier for the userland,
    and a few bug fixes.

    The big thing now is to work on the userland side (jscan) to be able
    to run a mirror backwards, and to work on the code that allows the
    userland side to resynchronize after a journaling stream has been
    broken and then restarted.  It turns out that I outsmarted myself a bit
    on the kernel side... the kernel supports journaling transactions running
    in parallel and that really complicates the userland code to parse 
    the transactions.  I have to rewrite that whole bit (in userland's jscan).

    Once jscan is up to snuff my desired backup scheme will be possible...
    that is, keeping an up-to-date mirror on the backup box and using all
    remaining disk space to hold the backwards-scannable journal.  When the
    backup partition fills up, you just remove a chunk from the base of the
    journal to make more room.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



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