git: hammer2 - bulkfree work, rip-up cluster sync.

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Aug 28 14:09:36 PDT 2015


commit 53f84d31f557c11439f7905f5f77e32d3c583990
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Aug 28 13:49:47 2015 -0700

    hammer2 - bulkfree work, rip-up cluster sync.
    
    * bulkfree no longer attempts to flush.  Instead it deals with races against
      live by refusing to free blocks in L1 freemap chains that have been modified
      since the last sync.  This is a temporary workaround.
    
    * No longer propagate modify_tid during a flush.  modify_tid is now used
      as a localized but cluster-aware TID (whereas mirror_tid is only localized
      to a cluster node).
    
    * Start work on adding an update_tid to the blockref.  This will ultimately
      be used by the cluster synchronization code instead of modify_tid.
    
    * Adjust the DESIGN document for the new synchronization concept.

Summary of changes:
 sys/vfs/hammer2/DESIGN             |  66 ++++++++++-----------
 sys/vfs/hammer2/hammer2.h          |  18 ++++--
 sys/vfs/hammer2/hammer2_bulkscan.c |  62 ++++++++++++++++----
 sys/vfs/hammer2/hammer2_chain.c    |  26 +++++----
 sys/vfs/hammer2/hammer2_disk.h     |  52 +++++++++--------
 sys/vfs/hammer2/hammer2_flush.c    | 116 +++++++++++++++++++++++++------------
 sys/vfs/hammer2/hammer2_inode.c    |  21 ++++++-
 sys/vfs/hammer2/hammer2_ioctl.c    |   2 +-
 sys/vfs/hammer2/hammer2_vfsops.c   |   9 ++-
 sys/vfs/hammer2/hammer2_vnops.c    |  17 +++---
 10 files changed, 258 insertions(+), 131 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/53f84d31f557c11439f7905f5f77e32d3c583990


-- 
DragonFly BSD source repository



More information about the Commits mailing list