hammer2 - More involved refactoring of chain_repparent, cleanup
* Remove unused locking flags (remove the NOLOCK and NOUNLOCK
features).
* Add HAMMER2_RESOLVE_NONBLOCK to hammer2_chain_lock() for use
only by hammer2_chain_getparent() and hammer2_chain_repparent().
* Refactor hammer2_chain_getparent() and hammer2_chain_repparent().
Add a hot-path that uses HAMMER2_RESOLVE_NONBLOCK. If this fails
we now do a much more involved tracking operation via 'reptrack'
to deal with races against indirect block deletions.
* Cleanup the copyright messages.
* Fix an issue where a sync could be held-up indefinitely by
ongoing overlapping modifying operations.
* Install a proper initial inode count when creating a snapshot.
* Fix a deadlock in checkdirempty(). A chain lock was winding
up being ordered incorrectly.
23 files changed: