git: hammer2 - locking revamp

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Mar 22 20:31:05 PDT 2015


commit 94491fa098a9b62dd517fe5e5f0c8bf3315b9d5a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Mar 22 20:26:08 2015 -0700

    hammer2 - locking revamp
    
    * Temporarily remove hammer2_ccms.c from the build and remove the ccms
      container.  The CCMS container will be used again when we get cache
      coherent in, but for now it isn't needed.
    
    * Replace the ccms state lock with a mtx lock and move
      into hammer2_chain_core.
    
      Note that the mtx lock being used here has abort and async locking
      support and these features will be required by HAMMER2.
    
    * Replace the ccms spin lock with a normal spin lock and move
      into hammer2_chain_core.
    
    * Refactor the OS locking interface to use hammer2_* prefixes for easier
      porting.
    
    * Use a shared spin lock for the ONFLUSH bit update instead of an exclusive
      spin lock.

Summary of changes:
 sys/vfs/hammer2/Makefile         |   2 +-
 sys/vfs/hammer2/hammer2.h        | 114 +++++++++++++-----
 sys/vfs/hammer2/hammer2_ccms.c   | 247 ++++-----------------------------------
 sys/vfs/hammer2/hammer2_ccms.h   |  65 +----------
 sys/vfs/hammer2/hammer2_chain.c  | 139 +++++++++++-----------
 sys/vfs/hammer2/hammer2_flush.c  |   8 +-
 sys/vfs/hammer2/hammer2_inode.c  |  97 ++++++++++-----
 sys/vfs/hammer2/hammer2_io.c     |  32 ++---
 sys/vfs/hammer2/hammer2_subr.c   |   7 +-
 sys/vfs/hammer2/hammer2_vfsops.c |  31 ++---
 sys/vfs/hammer2/hammer2_vnops.c  |  50 +++++---
 11 files changed, 316 insertions(+), 476 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/94491fa098a9b62dd517fe5e5f0c8bf3315b9d5a


-- 
DragonFly BSD source repository


More information about the Commits mailing list