git: hammer2 - Stabilization pass
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Jun 28 00:33:19 PDT 2016
commit c57fa38ca4c8500b82352ff5560c515ef4c78f68
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Tue Jun 28 00:26:06 2016 -0700
hammer2 - Stabilization pass
* If the HAMMER2_CHAIN_DEDUP flag is set modified_needs_new_allocation()
must return 1 to force a new allocation. This fixes a number of dirty
buffer rewrite cases that broke dedup.
* Do not try to dedup a chain flagged MODIFIED or INITIAL.
* The indirect-block deletion code in the flusher needed to also count
blockrefs if it hadn't been done yet. This fixes cases of missing
directory entries.
* For now use a transaction in hammer2_strategy_write(). We probably don't
need it due to the way the logical buffer cache is handled, but do it
anyway.
* Clean-up some of the code documentation.
* Implement sysctls for dedup and buffer invalidation enablement. dedup
is turned on by default, invalidation is turned off. Invalidation is
not currently working well.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 15 ++-----
sys/vfs/hammer2/hammer2_chain.c | 53 +++++++++-------------
sys/vfs/hammer2/hammer2_flush.c | 14 ++++++
sys/vfs/hammer2/hammer2_io.c | 8 +++-
sys/vfs/hammer2/hammer2_strategy.c | 92 ++++++++++++++++++++++++--------------
sys/vfs/hammer2/hammer2_vfsops.c | 44 ++++--------------
6 files changed, 111 insertions(+), 115 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c57fa38ca4c8500b82352ff5560c515ef4c78f68
--
DragonFly BSD source repository
More information about the Commits
mailing list