git: hammer2 - stabilization

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Dec 4 10:02:37 PST 2013


commit 1fca819ab6079b092d1495bc78725ff8739bcfe2
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Dec 4 09:44:59 2013 -0800

    hammer2 - stabilization
    
    * Fix the hammer2_chain_assert_not_present() call in hammer2_chain_insert()
      to avoid SMP races that could cause it to trigger falsely.  Also fix a
      case where inserting a deleted chain was improperly calling it.
    
    * Fix bugs in hammer2_combined_find().  It is possible for a deleted
      chain from a prior synchronization point to cover a matching media
      blockref from a later synchronization point.  When both a media block
      and an in-memory chain are found, do not just blindly choose the
      in-memory chain.  Choose based on the synchronization points.
    
    * Refactor part of the hardlink code.  Do not create a dummy chain
      to place-hold the target when a hardlink has to be shifted up to
      a parent directory.  Allow hammer2_chain_duplicate() to do it.

Summary of changes:
 sbin/hammer2/cmd_debug.c          | 15 +++++++---
 sys/vfs/hammer2/hammer2_chain.c   | 58 +++++++++++++++++++++++++++------------
 sys/vfs/hammer2/hammer2_freemap.c | 15 +++++++---
 sys/vfs/hammer2/hammer2_inode.c   |  8 ++++++
 sys/vfs/hammer2/hammer2_vnops.c   |  7 +++++
 5 files changed, 78 insertions(+), 25 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1fca819ab6079b092d1495bc78725ff8739bcfe2


-- 
DragonFly BSD source repository



More information about the Commits mailing list