git: hammer2 - stabilization
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon May 25 09:25:23 PDT 2015
commit eedd52a3c81fcf228313386db2a7626de84983f5
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon May 25 09:22:13 2015 -0700
hammer2 - stabilization
* Fix more deadlocks. The solution here is not ideal, I'm doing too much
unlocking and relocking of clusters and probably breaking certain atomicy
requirements.
* Implement a delayed flush mechanism when making permanent chain deletions
instead of calling hammer2_flush(). This should allow the flush code to
better optimize-out unnecessary write I/Os.
* Add a spinlock for the ip->cluster (not completed yet).
* I had broken system-initated filesystem syncing by calling vclrisdirty()
on the syncer vnode. Fix it.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 6 +++-
sys/vfs/hammer2/hammer2_chain.c | 30 ++++------------
sys/vfs/hammer2/hammer2_cluster.c | 30 +++++++++-------
sys/vfs/hammer2/hammer2_flush.c | 74 +++++++++++++++++++++++++++++++++++++--
sys/vfs/hammer2/hammer2_inode.c | 31 ++++++++++++----
sys/vfs/hammer2/hammer2_syncthr.c | 7 +++-
sys/vfs/hammer2/hammer2_vfsops.c | 5 +--
7 files changed, 134 insertions(+), 49 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/eedd52a3c81fcf228313386db2a7626de84983f5
--
DragonFly BSD source repository
More information about the Commits
mailing list