DragonFly kernel List (threaded) for 2008-02
HAMMER update 23-Feb-2008
HAMMER continues to progress well. The blockmap is in good shape
and I am moving on to the next item on the list. All major functions
work and appear to be stable.
Three items are needed for an 'alpha' release:
* garbage collection code. This will be responsible for re-optimizing
the filesystem by scanning the B-Tree and copying data out of partially
free big-blocks, allowing those blocks to be freed.
* undo fifo ('instant' recovery after a crash). This will handle
all normal crash recovery cases.
Because data is not overwritten the undo fifo only needs to record
meta-data changes such as B-Tree operations, volume header updates,
blockmap updates, and so forth. Some minor buffer order will also
be needed to flush the undo data before flushing the actual change,
but its a lot easier then ordering requirements for the original
* hard-core recovery code. This will scan the whole filesystem and
guarantee that everything is in a sane state. Even if it is never
supposed to be needed you can't release a filesystem without a
utility which does this.
I am not quite calling for testing yet, but please feel free to play
around with it with the provisio that there is no crash recovery or
garbage collection code in-place yet.