HAMMER 38E/Many: Undo/Synchronization and crash recovery
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Apr 2008 19:08:14 +0000 (19:08 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Apr 2008 19:08:14 +0000 (19:08 +0000)
commitd36ec43babeeb5983d08348dbf300b5aa8d86609
treef234cf9765a2f60aa2b9c3bfe07c91cd12d82cc3
parent9af9fd3cc9a693a63c3bccb29267508a78f4b7e2
HAMMER 38E/Many: Undo/Synchronization and crash recovery

* Clean up interlocks between the frontend and backend.

* Deal with the case where the backend needs to sync a record to disk that
  the frontend wishes to delete.  This basically just involves converting
  the record from a deleted in-memory record to a delete-on-disk record,
  so the synced record does not become visible to userland.

* Deal with the case when an inode is being destroyed where the backend
  wishes to delete an in-memory record without syncing it to disk.

* Document numerous special cases for future attention.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_btree.c
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_recover.c