git: hammer2 - Start work on quorum validation.
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Mar 29 22:58:35 PDT 2015
commit 2221183477f89177a60e7c8a337d9dc720fca9a2
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Mar 29 22:45:59 2015 -0700
hammer2 - Start work on quorum validation.
* Remove HAMMER2_PFSTYPE_SNAPSHOT, it adds unnecessary complication.
Just make snapshots HAMMER2_PFSTYPE_MASTER.
Add a subtype field to the inode and PFS ioctl to identify snapshots.
* Start fleshing out the quorum code. hammer2_chain_lock() is the core.
It will eventually also have to be async.
hammer2_chain_lock() now does hard quorum checks, soft master checks,
and identifies slaves and whether synchronization is needed, based on
mirror_tid.
* More cleanup of cluster->focus.
* When removing nodes from a PFS cluster, since the cluster is being
ripped apart and hammer2_inode_lock_ex() does quorum validation,
we cannot use this function. Just acquire and release the low-level
inode mutex instead.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 7 +-
sys/vfs/hammer2/hammer2_cluster.c | 245 +++++++++++++++++++++++++++++++-------
sys/vfs/hammer2/hammer2_disk.h | 10 +-
sys/vfs/hammer2/hammer2_ioctl.c | 3 +
sys/vfs/hammer2/hammer2_ioctl.h | 2 +-
sys/vfs/hammer2/hammer2_vfsops.c | 30 +++--
6 files changed, 243 insertions(+), 54 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2221183477f89177a60e7c8a337d9dc720fca9a2
--
DragonFly BSD source repository
More information about the Commits
mailing list