git: hammer2 - Consolidate backend rename ops

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jul 26 23:17:05 PDT 2017


commit bc8b74b296f783863c6a3c79949ddc0baa341c33
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Jul 26 22:34:50 2017 -0700

    hammer2 - Consolidate backend rename ops
    
    * Reduce frontend XOP ops required for rename from 3 to 2 by integrating
      the unlink-target operation into xop_nrename.  The xop_nrename backend
      function now handles replacing the target namespace when it exists and
      will also get rid of any duplicates as a safety.
    
    * Adjust the frontend inode locking order to try to avoid deadlocks.
    
    * Adjust iparent documentation.
    
    * Properly set iparent in the rename operation.  The iparent was not
      being adjusted at all.
    
    * Properly set iparent in the inode create operation.  The iparent was
      improperly being set to 0 instead 1 when the parent directory was the
      mount point.

Summary of changes:
 sys/vfs/hammer2/hammer2_disk.h   |  6 ++-
 sys/vfs/hammer2/hammer2_inode.c  |  2 +-
 sys/vfs/hammer2/hammer2_vfsops.c |  2 +
 sys/vfs/hammer2/hammer2_vnops.c  | 99 ++++++++++++++++++++++++++++++----------
 sys/vfs/hammer2/hammer2_xops.c   | 75 +++++++++++++++++++-----------
 5 files changed, 130 insertions(+), 54 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bc8b74b296f783863c6a3c79949ddc0baa341c33


-- 
DragonFly BSD source repository


More information about the Commits mailing list