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