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

DragonFly-2.3.0.392.g797a0 master sbin/hammer Makefile cmd_cleanup.c cmd_rebalance.c cmd_show.c hammer.8 hammer.c hammer.h sys/vfs/hammer hammer_ioctl.h


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 14 Mar 2009 17:36:13 -0700 (PDT)

commit 797a0b636b5917dbc5ec2917265e29debaade406
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sat Mar 14 17:22:40 2009 -0700

    HAMMER Utility: Change B-Tree, inodes, and dir reblocking params, add rebalance
    
    * The normal cleanup operations now reblock all B-Tree, inode, and directory
      elements in the normal daily reblock mode instead of only the ones in
      fragmented big-blocks.  Bulk data is handled by the 30-day recopy mode.
    
    * Add a new directive 'rebalance' (a future VFS ioctl).  This directive will
      tell the HAMMER VFS to rebalance the B-Tree.  HAMMER B-Trees are always
      balanced by depth but degenerate cases with minimal elements in a node
      can easily build up.  The new directive will rebalance the elements in
      each B-Tree node.
    
    * The hammer cleanup directive was not reblocking directories.  Now it does.
    
    It usually does not take very long to reblock the B-Tree nodes, inodes, or
    directory elements.  Reblocking these unconditionally, instead of just
    reblocking fragmented allocation areas, keeps the B-Tree in a more optimal
    layout, though there is still a lack of correlation between inode numbers
    and directory scan order.

Summary of changes:
 sbin/hammer/Makefile                           |    3 +-
 sbin/hammer/cmd_cleanup.c                      |   37 +++++++++-
 sbin/hammer/{cmd_synctid.c => cmd_rebalance.c} |   90 +++++++++++++++++-------
 sbin/hammer/cmd_show.c                         |    7 ++-
 sbin/hammer/hammer.8                           |   10 +++
 sbin/hammer/hammer.c                           |    8 ++-
 sbin/hammer/hammer.h                           |    1 +
 sys/vfs/hammer/hammer_ioctl.h                  |   23 ++++++
 8 files changed, 147 insertions(+), 32 deletions(-)
 copy sbin/hammer/{cmd_synctid.c => cmd_rebalance.c} (50%)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/797a0b636b5917dbc5ec2917265e29debaade406


-- 
DragonFly BSD source repository



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