git: hammer2 - serialized flush work part 2
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Jan 31 16:28:57 PST 2013
commit e2e9e2dbb419600b6f99d26f4a4d773dcc04e2f5
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Jan 30 22:41:52 2013 -0800
hammer2 - serialized flush work part 2
* Adjust the hammer2_inode_lock*() API to separate the inode lock from
the chain lock (it gets both). The locked chain associated with the
inode is now returned and can change during search iterations, eventually
to be returned via hammer2_inode_unlock*().
* Fixes issues related to threads obtaining more than 1 shared lock on the
same chain, which can deadlock deeper procedures which might need to
temporarily upgrade the lock.
* Continue working through bugs.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 16 +--
sys/vfs/hammer2/hammer2_inode.c | 195 +++++++++++++++-------------
sys/vfs/hammer2/hammer2_ioctl.c | 21 +--
sys/vfs/hammer2/hammer2_subr.c | 48 +++++--
sys/vfs/hammer2/hammer2_vfsops.c | 19 +--
sys/vfs/hammer2/hammer2_vnops.c | 269 +++++++++++++++++++++------------------
6 files changed, 315 insertions(+), 253 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e2e9e2dbb419600b6f99d26f4a4d773dcc04e2f5
--
DragonFly BSD source repository
More information about the Commits
mailing list