git: hammer2 - per-node sync threads

Matthew Dillon dillon at crater.dragonflybsd.org
Wed May 20 22:24:05 PDT 2015


commit c7916d0bd3d746cf4cc8ec6701f7d14e837009c6
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed May 20 18:04:49 2015 -0700

    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.

Summary of changes:
 sys/vfs/hammer2/hammer2.h         |   7 +-
 sys/vfs/hammer2/hammer2_cluster.c |  63 ++++++--
 sys/vfs/hammer2/hammer2_flush.c   |  19 +++
 sys/vfs/hammer2/hammer2_syncthr.c | 329 +++++++++++++++++++-------------------
 sys/vfs/hammer2/hammer2_vfsops.c  | 259 ++++++++++++++++++------------
 sys/vfs/hammer2/hammer2_vnops.c   |   4 +-
 6 files changed, 405 insertions(+), 276 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c7916d0bd3d746cf4cc8ec6701f7d14e837009c6


-- 
DragonFly BSD source repository



More information about the Commits mailing list