git: hammer2 - Add indirect node collapse code
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Sep 10 10:08:11 PDT 2017
commit 850d3f60f0a03e7a3f08357489acac749d6224ca
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Sep 10 10:03:09 2017 -0700
hammer2 - Add indirect node collapse code
* Move the contents of an indirect node into its parent when either
becomes empty enough to accomodate the move. This is done during
the flush and incurs no extra overhead or I/O.
* This is not a rebalancing algorithm but it does do a pretty good
job reducing degenerate indirect nodes in the topology.
* Note that I am not using bref->leaf_count yet. This will be used
in a later rebalancing algorithm.
* Fix minor bug in hammer2_chain_create_indirect() where a chain's
bref was being tested without holding a lock on the chain.
* Remove misc debugging that we no longer need.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 7 +-
sys/vfs/hammer2/hammer2_chain.c | 159 ++++++++++++++++++++++++++++++++++++++--
sys/vfs/hammer2/hammer2_flush.c | 69 +++--------------
3 files changed, 170 insertions(+), 65 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/850d3f60f0a03e7a3f08357489acac749d6224ca
--
DragonFly BSD source repository
More information about the Commits
mailing list