hammer2 - Consolidate backend rename ops
commitbc8b74b296f783863c6a3c79949ddc0baa341c33
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 27 Jul 2017 05:34:50 +0000 (26 22:34 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 27 Jul 2017 06:15:59 +0000 (26 23:15 -0700)
tree47ac3a9d6555721274252a372d1dbe33373c1dc0
parent8175f6e09c5203a3246150bbd06b46a246662794
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.
sys/vfs/hammer2/hammer2_disk.h
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c
sys/vfs/hammer2/hammer2_xops.c