git: hammer2 hammer2 - Rework the flusher

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Feb 29 00:59:39 PST 2012


commit 73e441b99a7795a894ec06f367d9b09debb62c04
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Feb 29 00:53:55 2012 -0800

    hammer2 - Rework the flusher
    
    * Rework the flusher to remove numerous degenerate cases which caused
      excessive re-flushing of the same block(s).
    
    * No longer flushes the volume header on sync if the filesystem is not dirty.
    
    * General code cleanup.
    
    * Beginning of a work-up to implement variable logical block sizes for file
      data.  Physical blocks will always be 64K but logical blocks and block
      allocations can be any multiple of 1K.
    
      Currently any file > 512 bytes allocates a 64K file block, which is
      horribly space inefficient.  This will be fixed soon.

Summary of changes:
 sys/vfs/hammer2/TODO             |    4 +
 sys/vfs/hammer2/hammer2.h        |   11 +--
 sys/vfs/hammer2/hammer2_chain.c  |  158 ++++++++++++++++++++++++--------------
 sys/vfs/hammer2/hammer2_disk.h   |    1 +
 sys/vfs/hammer2/hammer2_vfsops.c |   18 +++-
 sys/vfs/hammer2/hammer2_vnops.c  |   28 ++++++-
 6 files changed, 146 insertions(+), 74 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/73e441b99a7795a894ec06f367d9b09debb62c04


-- 
DragonFly BSD source repository





More information about the Commits mailing list