HAMMER 52/Many: Read-only mounts and mount upgrades/downgrades.
commit8d1e6dc9e938eb95206adedf51b18a9a9376e771
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 3 Jun 2008 18:47:25 +0000 (3 18:47 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 3 Jun 2008 18:47:25 +0000 (3 18:47 +0000)
tree4ee95d8b5b6f4e9f5e34a85fe3fdc18b83069a5d
parenta8c4ba91f9021111638e61809c5bca3e22e810cc
HAMMER 52/Many: Read-only mounts and mount upgrades/downgrades.

* Finish implementing MNT_UPDATE, allowing a HAMMER mount to be upgraded
  or downgraded.

* Adjust the recovery code to not flush buffers dirtied by recovery
  operations (running the UNDOs) when the mount is read-only.  The
  buffers will be flushed when the mount is updated to read-write.

* Improve recovery performance by not flushing dirty buffers until the
  end (if a read-write mount).

* A crash which occurs during recovery might cause the next recovery to
  fail.  Delay writing out the recovered volume header until all the other
  buffers have been written out to fix the problem.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_mount.h
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_recover.c
sys/vfs/hammer/hammer_vfsops.c