git: hammer2 - Stabilize new I/O infrastructure and work on bulkfree

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jan 26 15:54:20 PST 2015


commit 3148f6779fc754711b51c40131a915c9deb16741
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Jan 26 15:48:03 2015 -0800

    hammer2 - Stabilize new I/O infrastructure and work on bulkfree
    
    * Stabilize the new asynchronous hammer_io infrastructure.
    
    * Document the new simpler bulkfree scan algorithm.  The new algorithm
      scans meta-data in two passes, rebuilding the freemap in kernel memory.
      It then compares the map against the live media.
    
      The first pass transitions the freemap from (11 = allocated) to
      (10 = staged for deletion), the second pass transitions (10) either back
      to (11) if the block is found to not actually be freeable or to (00) if
      the block winds up being actually freeable.
    
      The two pass mechanism deals with any races and allows the scan to occur
      essentially unlocked,
    
    * Start work on the bulkfree scan algorithm.

Summary of changes:
 sys/vfs/hammer2/FREEMAP            | 182 ++++++++++--------
 sys/vfs/hammer2/Makefile           |   2 +-
 sys/vfs/hammer2/hammer2.h          |  19 +-
 sys/vfs/hammer2/hammer2_bulkscan.c | 380 +++++++++++++++++++++++++++++++++++++
 sys/vfs/hammer2/hammer2_chain.c    |  10 +
 sys/vfs/hammer2/hammer2_disk.h     |  74 +++++++-
 sys/vfs/hammer2/hammer2_freemap.c  |  45 ++---
 sys/vfs/hammer2/hammer2_io.c       | 130 +++++++++----
 sys/vfs/hammer2/hammer2_ioctl.c    |  20 +-
 sys/vfs/hammer2/hammer2_ioctl.h    |  18 +-
 sys/vfs/hammer2/hammer2_vnops.c    |  58 ++++--
 11 files changed, 751 insertions(+), 187 deletions(-)
 create mode 100644 sys/vfs/hammer2/hammer2_bulkscan.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3148f6779fc754711b51c40131a915c9deb16741


-- 
DragonFly BSD source repository



More information about the Commits mailing list