DragonFly BSD
DragonFly commits List (threaded) for 2012-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: hammer2 hammer2 - Implement variable-sized indirect blocks, clustered reads


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 19 Mar 2012 21:24:09 -0700 (PDT)

commit 6ba3b984736974a60373ed1610426443c5be4266
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Mon Mar 19 18:34:45 2012 -0700

    hammer2 - Implement variable-sized indirect blocks, clustered reads
    
    * Implement 4K indirect blocks as well as 64K indirect blocks
    
    * Do not flush the chains for VOP_FSYNC() calls issued from 'sync' or
      from the syncer, only flush the chains when called from fsync().
    
      This solves a fairly nasty repeated copy-on-write ops on the same block
      in the topology.
    
    * Issue appropriate cluster_read() calls instead of bread().
    
    * Implement forward-looking bmap across multiple blocks instead of just one.

Summary of changes:
 sys/vfs/hammer2/hammer2.h         |   31 +++++--
 sys/vfs/hammer2/hammer2_chain.c   |  171 ++++++++++++++++++++++++++++--------
 sys/vfs/hammer2/hammer2_disk.h    |   16 ++--
 sys/vfs/hammer2/hammer2_freemap.c |   55 ++++++------
 sys/vfs/hammer2/hammer2_inode.c   |    6 +-
 sys/vfs/hammer2/hammer2_subr.c    |   25 ++++++
 sys/vfs/hammer2/hammer2_vnops.c   |  124 ++++++++++++++++++++------
 7 files changed, 314 insertions(+), 114 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6ba3b984736974a60373ed1610426443c5be4266


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]