hammer2 - cleanup embedded data hacks
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 12 Dec 2013 07:17:41 +0000 (23:17 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 12 Dec 2013 07:30:42 +0000 (23:30 -0800)
commit91caa51ca652ce2e640f528c7d9ab5c42cc8819b
tree6f25e65b987743928e5d1a811f515c25f6ea275e
parent9b21452a2481dc90ee53463465b2c9f9a8b59b16
hammer2 - cleanup embedded data hacks

* Chains of type BREF_TYPE_INODE and BREF_TYPE_FREEMAP_LEAF were embedding
  their data (using a kmalloc()'d copy instead of a buffer-cache mapping).
  This was done due to recursive locking issues with struct buf's.

* With the new hammer2_dio.c module we no longer have to use this hack.
  Remove it and use device buffer mappings (via dio) for these two chain
  types.

* All chains except the embedded volume and freemap headers now use buffer
  maps.

* This should substantially reduce adhoc kernel memory use and improve
  performance as VOP calls no longer have to kmalloc/bcopy/kfree clean
  inode data on every call.
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_flush.c