hammer2 - Cache chain->data and chain->dio until last release.
commit6c8a59028088f4e51fd538d78e69d96be5fe8311
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 10 Jun 2016 04:24:26 +0000 (9 21:24 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 10 Jun 2016 04:24:26 +0000 (9 21:24 -0700)
tree63ec2dd632ba6254dc8192c9a643e5463c03311e
parentef2b29a7ba6ca8a9d2c82ab591c0622227ff84cb
hammer2 - Cache chain->data and chain->dio until last release.

* Instead of releasing the chain data and dio on unlock, leave it
  cached and intact until the last release.  This will allow an upcoming
  change to pass unlocked chain structures betweten threads to work
  efficiently.

* Fix a race condition in the chain->parent linkage test that could cause
  chain->data to be cleared improperly.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_freemap.c
sys/vfs/hammer2/hammer2_io.c
sys/vfs/hammer2/hammer2_strategy.c