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