git: hammer2 hammer2 - Major hammer2_chain_*() API cleanup

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Mar 21 22:35:02 PDT 2012


commit 01eabad4d93a8dc8f0f01a6209b384b1e010bb8c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Mar 21 21:10:40 2012 -0700

    hammer2 - Major hammer2_chain_*() API cleanup
    
    * Do a major rewrite of the hammer2_chain_*() API functions, primarily
      dealing with whether the caller wants data instantiated for a chain
      element or not.
    
      Also revamp the locking calls.  Integrate the ref count into
      hammer2_chain_lock() to simplify the operation.
    
    * Add infrastructure to allow a minimum physical I/O size to be specified
      independently from the allocation size.  Not finished yet and currently
      disabled.
    
    * Optimize I/O a little, but this still needs a ton of work.
      Set B_CLUSTEROK for logical buffers.
    
    * Add some statistics gathering.
    
    * Remove several duplicative functions.

Summary of changes:
 sys/vfs/hammer2/TODO              |    3 +
 sys/vfs/hammer2/hammer2.h         |   45 ++-
 sys/vfs/hammer2/hammer2_chain.c   | 1116 +++++++++++++++++++++---------------
 sys/vfs/hammer2/hammer2_disk.h    |   39 ++-
 sys/vfs/hammer2/hammer2_freemap.c |   45 ++-
 sys/vfs/hammer2/hammer2_inode.c   |   25 +-
 sys/vfs/hammer2/hammer2_subr.c    |    6 +-
 sys/vfs/hammer2/hammer2_vfsops.c  |   60 ++-
 sys/vfs/hammer2/hammer2_vnops.c   |  169 +++---
 9 files changed, 914 insertions(+), 594 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/01eabad4d93a8dc8f0f01a6209b384b1e010bb8c


-- 
DragonFly BSD source repository





More information about the Commits mailing list