git: hammer2 - slave sync adjustments, doc update
dillon at crater.dragonflybsd.org
Thu Apr 9 00:05:07 PDT 2015
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Apr 8 23:58:54 2015 -0700
hammer2 - slave sync adjustments, doc update
* Fix the hammer2_cluster*() API, do not multiply-ref underlying chains
when a cluster is multiply-ref'd. Fixes issues when underlying chain
elements of the cluster are replaced during operations.
* Fix frontend writing issues when multiple slaves are present.
* Adjust documentation a bit. Get rid of the 256-way split description
for copyid use, we aren't going to do things that way so the size for
each physical volume can be up to ~2^64 (maybe ~2^63 to be safe).
* Add a HAMMER2_LOOKUP_NODIRECT flag to prevent recursively returning
the inode and remove the broken (cluster == cparent) test in the slave-sync
code. Doh, cluster structures are independently allocated, test was
* Fix several other slave-sync issues when multiple slaves are present.
(there are still some issues remaining).
* Fix accounting for the number of mounts using a physical device
(hmp), rename pmp_count to mount_count for clarity.
Summary of changes:
sys/vfs/hammer2/DESIGN | 84 +++++++++++++++++++++------------------
sys/vfs/hammer2/hammer2.h | 11 +++--
sys/vfs/hammer2/hammer2_chain.c | 7 +++-
sys/vfs/hammer2/hammer2_cluster.c | 22 +++++-----
sys/vfs/hammer2/hammer2_syncthr.c | 17 ++++----
sys/vfs/hammer2/hammer2_vfsops.c | 54 ++++++++++++++++++-------
6 files changed, 120 insertions(+), 75 deletions(-)
DragonFly BSD source repository
More information about the Commits