HAMMER 38E/Many: Undo/Synchronization and crash recovery
commit67ccf301480f9e849f61618db28f2fc2f383f8c6
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Apr 2008 19:08:14 +0000 (26 19:08 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Apr 2008 19:08:14 +0000 (26 19:08 +0000)
tree56f01a354ef55bf822af983c7b9df0f7387217c1
parent2939e0fed4b2702c1be09e12c45062bf95475d13
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