git: hammer2 - Stabilization pass
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed May 27 22:33:17 PDT 2015
commit 0057d3b85eefbd3e0309a08a0a41f2e438f3bf9b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed May 27 22:26:42 2015 -0700
hammer2 - Stabilization pass
* Fix numerous deadlocks in syncthr.
* Fix startup issue in syncthr, elements in the initial iroot cluster
were being marked INVALID for the syncthr. This is what we want for
front-end operations, but not for the syncthr. The flag was preventing
syncthr from properly synchronizing sub-trees.
* Fix a chain leak in syncthr which was leaving referenced chains sitting
around on unmount.
* Do not repoint iroot elements in syncthr. The iroot elements already
exist and will not be created or destroyed, so no repointing should be
necessary.
* Fix improper freemap indirect block size in hammer2_chain_create_indirect().
* Fix pmp->inode_tid assignment. Inode number assignments are now handled
on a per-PFS basis.
* Use the data_count and inode_count statistics to fill out statfs and
statvfs.
* Use the data_count statistics to fill out vap->va_bytes for normal stat().
* Cleanups
Summary of changes:
sys/vfs/hammer2/hammer2.h | 2 +-
sys/vfs/hammer2/hammer2_chain.c | 18 ++++++++--
sys/vfs/hammer2/hammer2_cluster.c | 16 +++++++++
sys/vfs/hammer2/hammer2_flush.c | 2 --
sys/vfs/hammer2/hammer2_inode.c | 19 +++++++----
sys/vfs/hammer2/hammer2_syncthr.c | 71 +++++++++++++++++++++++++++++++++++++--
sys/vfs/hammer2/hammer2_vfsops.c | 41 ++++++++++++++--------
sys/vfs/hammer2/hammer2_vnops.c | 4 ++-
8 files changed, 144 insertions(+), 29 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0057d3b85eefbd3e0309a08a0a41f2e438f3bf9b
--
DragonFly BSD source repository
More information about the Commits
mailing list