hammer2 - Major hammer2_chain_*() API cleanup
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 22 Mar 2012 04:10:40 +0000 (21:10 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 22 Mar 2012 05:34:50 +0000 (22:34 -0700)
commit01eabad4d93a8dc8f0f01a6209b384b1e010bb8c
treec5a635f3c0b796903e5839b5e7b4dbbc33d2d5bc
parent214f4a7748f1ce8213d0e1e2d8a18286b3037956
hammer2 - Major hammer2_chain_*() API cleanup

* Do a major rewrite of the hammer2_chain_*() API functions, primarily
  dealing with whether the caller wants data instantiated for a chain
  element or not.

  Also revamp the locking calls.  Integrate the ref count into
  hammer2_chain_lock() to simplify the operation.

* Add infrastructure to allow a minimum physical I/O size to be specified
  independently from the allocation size.  Not finished yet and currently
  disabled.

* Optimize I/O a little, but this still needs a ton of work.
  Set B_CLUSTEROK for logical buffers.

* Add some statistics gathering.

* Remove several duplicative functions.
sys/vfs/hammer2/TODO
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_disk.h
sys/vfs/hammer2/hammer2_freemap.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_subr.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c