HAMMER 13/many - Stabilization commit
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 31 Dec 2007 05:33:12 +0000 (05:33 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 31 Dec 2007 05:33:12 +0000 (05:33 +0000)
commitb3deaf57977df845616c7ba966070b93fdc6830f
treee589cdea5ec93a6f701834a71e536636aa423068
parentc727e14292773bb9f58080bc07054e79b1da68b9
HAMMER 13/many - Stabilization commit

* Clean up the in-memory record API.

* Add B-Tree boundary assertions and B-Tree debugging code.

* Delay freeing bits in the allocation bitmaps for B-Tree nodes and
  clusters until the last reference to the in-memory structure goes away.
  This avoids premature reallocation.

* Fix a bug in btree_split_leaf() - the cursor was not being properly
  adjusted in a particular boundary case.

* Fix a recursive lock bug on a buffer cache buffer in hammer_io.c

* Do not allow a non-empty directory to be removed.

* Synthesize directory entries for "." and "..".  Adjust the
  hammer_directory_namekey() procedure to reserve key-space for the
  synthesized entries.

* Fix memory leaks related to the hammer_node and hammer_record structures.

* Finish writing the rename code.
12 files changed:
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_btree.c
sys/vfs/hammer/hammer_cursor.c
sys/vfs/hammer/hammer_disk.h
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_spike.c
sys/vfs/hammer/hammer_subs.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer/hammer_vnops.c