HAMMER 33/many: Expand transaction processing, fix bug in B-Tree
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 19 Mar 2008 20:18:17 +0000 (20:18 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 19 Mar 2008 20:18:17 +0000 (20:18 +0000)
commit36f82b234899b55629bc12f8d9df44ce2917e4d0
tree85086dbce092cff238179c1eb9779a0b9f42bd27
parent601fa0f9bc7f0de346323549c87fcb6ea4347724
HAMMER 33/many: Expand transaction processing, fix bug in B-Tree

* Expand transaction processing to cover more of the code space for
  upcoming undo code.

* Fix a bug in the btree_split_leaf(), the separator would sometimes not
  properly be to the left of the split point, resulting in a panic.
  Temporarily add many more assertions to btree_split_leaf().

* Improve the critical path for blockmap lookups, the (newly) passed trans
  already contains a referenced root volume so the blockmap code does not
  have to acquire one.

Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx> (B-Tree bug)
19 files changed:
sbin/hammer/hammer.c
sbin/newfs_hammer/newfs_hammer.c
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_blockmap.c
sys/vfs/hammer/hammer_btree.c
sys/vfs/hammer/hammer_cursor.c
sys/vfs/hammer/hammer_cursor.h
sys/vfs/hammer/hammer_disk.h
sys/vfs/hammer/hammer_freemap.c
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_io.c
sys/vfs/hammer/hammer_ioctl.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_reblock.c
sys/vfs/hammer/hammer_transaction.c
sys/vfs/hammer/hammer_undo.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer/hammer_vnops.c