hammer2 - more indirect block work, add advlock
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 28 Feb 2012 05:22:53 +0000 (21:22 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 28 Feb 2012 05:22:53 +0000 (21:22 -0800)
commit37aa19df44159ee32dabba1c0650cea6f7a7eadc
tree40faf4ef8dc3e7360e066d6f4f030fdb651a1cb9
parent5b4a213242853d1a25a323f9771e3a62fadf52c3
hammer2 - more indirect block work, add advlock

* Fix several bugs in the indirect block code.  Directories and files should
  both now be able to expand properly.  Except for an excessive dirty buffer
  buildup (see 'bawrite' below), we can now create regular files linearly
  and create sub-directory trees.  e.g. cpdup is starting to show results.

* Fix an issue with readdir related to how ranged searches work (results
  can be returned in any order within the range).  Do a direct lookup of
  the key before resorting to a range.  Until we sort the keys this is not
  going to work correctly in the face of concurrent deletions.

* Try conditionalizing bawrite() vs bdwrite() in the flush code, but there
  are still major issues when NFS is used to back a VN device for testing
  which can deadlock the system.

* Remove or conditionalize a bunch of debugging kprintfs.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_freemap.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c