HAMMER VFS - Change default from version 3 to version 4
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 5 Dec 2009 17:20:27 +0000 (09:20 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 5 Dec 2009 17:20:27 +0000 (09:20 -0800)
commitfd74884e5f97b1cbfca7c582336d7fbbbdf07644
treea02185e3a8e3fe07b3150c4c6fefd460b7c8dd34
parent43ca35e2359188a526b20a7cf27e9367b54c6b73
HAMMER VFS - Change default from version 3 to version 4

* Version 4 is now the default for newfs_hammer and is no longer
  considered a work in progress.

* Filesystems may be upgraded to version 4 in-place.  The UNDO FIFO
  (typically 1G) is reformatted so the upgrade might take a minute or
  two depending.

* Version 4 allows the UNDO FIFO to be flushed without also having
  to flush the volume header, removing 2 of the 4 disk syncs typically
  required for an fsync() and removing 1 of the 2 disk syncs typically
  required for a flush sequence.

  This is accomplished by adding a sequence number of the UNDO entries
  in the FIFO and preventing them from crossing a 512-byte boundary,
  so each 512-byte block starts with an entry.  HAMMER's mount code
  is then able to scan the UNDO FIFO to determine the start and end
  for recovery purposes.

* Version 4 implements the infrastructure needed for REDO, but does not
  implement any REDO operations.
sys/vfs/hammer/hammer_disk.h