hammer2 - per-node sync threads
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 21 May 2015 01:04:49 +0000 (18:04 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 21 May 2015 01:10:32 +0000 (18:10 -0700)
commitc7916d0bd3d746cf4cc8ec6701f7d14e837009c6
tree356e00984fce6d5123af4969399fa47ef37b1350
parent703dbf47b06ab80129fc22c5dff6e68a2119ec96
hammer2 - per-node sync threads

* Change the per-pfs sync threads into per-node sync threads.  Each sync
  thread is responsible for synchronizing its particular node to the
  pfs-based cluster when its particular node is out-of-sync.

* Significant work to the cluster iteration code to fix numerous deadlocks.

* Call vclrisdirty() conditionally at end of flush.

* Do not call vclrisdirty() unconditionally in hammer2_vop_fsync().

* Misc cleanups.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_cluster.c
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_syncthr.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c