HAMMER 38D/Many: Undo/Synchronization and crash recovery
commit10847aebf586c31b92c505406a974ad3496872d4
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Apr 2008 02:54:00 +0000 (26 02:54 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Apr 2008 02:54:00 +0000 (26 02:54 +0000)
tree9d62b33893325730e5fe360ee8f973718f944000
parentbc163ba4211247ddc28b40caa535fd971e9feebf
HAMMER 38D/Many: Undo/Synchronization and crash recovery

* The flusher now waits for I/O to complete at the appropriate points.

* Implement instant crash recovery.  The UNDO FIFO is scanned backwards
  and reapplied to the filesystem on mount.  There is still more work
  to do here, inode<->inode associations (e.g. directory entry vs file)
  are not yet bound together.

* Clean up I/O sequencing a lot and get rid of a ton of unnecessary flusher
  wakeups.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_flusher.c
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_io.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_recover.c
sys/vfs/hammer/hammer_undo.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer/hammer_vnops.c