git: hammer2 - Change freemap segment delineation, other stuff
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Aug 5 15:52:26 PDT 2013
commit 91abd41080e36691a2b192d816cd4bd90bcd7d12
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Aug 5 15:46:07 2013 -0700
hammer2 - Change freemap segment delineation, other stuff
* Change the freemap delineation to encode the BREF type as
well as the radix, in order to avoid mixing data and meta-data
types together in the same device buffer.
* Reorganize the freemap to remove one indirection level. Reserve
two bits per block instead of one. Change bitmap granularity to 16KB
but leave allocation granularity at 1KB.
* Fix hammer2_devblksize() to match hammer2_devblkradix().
* Add hammer2_chain_iterate(), a chain iteration with a
callback.
* Fix issue when hammer2_chain_get() is called with HAMMER2_LOOKUP_ALWAYS.
* Start working on proper statistics rollups during flush (not complete).
Summary of changes:
sys/vfs/hammer2/FREEMAP | 30 ++--
sys/vfs/hammer2/TODO | 4 +
sys/vfs/hammer2/hammer2.h | 73 +++++---
sys/vfs/hammer2/hammer2_chain.c | 131 +++++++++++++-
sys/vfs/hammer2/hammer2_disk.h | 78 ++++++---
sys/vfs/hammer2/hammer2_flush.c | 51 ++++++
sys/vfs/hammer2/hammer2_freemap.c | 354 +++++++++++++++++++++++++++-----------
sys/vfs/hammer2/hammer2_inode.c | 19 +-
sys/vfs/hammer2/hammer2_vnops.c | 3 +-
9 files changed, 565 insertions(+), 178 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/91abd41080e36691a2b192d816cd4bd90bcd7d12
--
DragonFly BSD source repository
More information about the Commits
mailing list