HAMMER 36/many: Stabilization pass.
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 29 Mar 2008 20:12:54 +0000 (20:12 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 29 Mar 2008 20:12:54 +0000 (20:12 +0000)
commit7aa3b8a6d4cf91068a69766320c34fdf82d956cb
tree45cf2dd6a342984ae1dcc71a811c581b5fc70442
parentc95ebcd667c59d8c49144079894455fd3de7c5fd
HAMMER 36/many: Stabilization pass.

* Assert that no cursor linkages remain when releasing the last ref on
  an inode.

* Rewrite the node lock upgrade and downgrade code and fix a bug where
  a no-error (0) from locking the cursors parent was overriding a
  possible error from locking the cursors current node, which could
  result in B-Tree node corruption or an assertion later on.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_cursor.c
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_subs.c