* subversion/libsvn_fs_fs/hotcopy.c
  (hotcopy_locking_src_body): Fix docstring. No functional change.

Found by: kotkov


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615348 13f79535-47bb-0310-9956-ffa450edef68
Teach checked svn_mutex__t instances to detect unlock attempts on mutexes
that are not locked.

* subversion/include/svn_error_codes.h
  (SVN_ERR_INVALID_UNLOCK): Declare new error code.

* subversion/libsvn_subr/mutex.c
  (svn_mutex__unlock): Verify that there was actually a lock on this mutex.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615349 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/cmdline/svnadmin_tests.py
  (FSFS_Index): Fix noob mistake and turn the members into instance variables.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615350 13f79535-47bb-0310-9956-ffa450edef68
Make sure 'svnadmin freeze' acquires the pack lock as well such that the
inner command being executed cannot violate the locking order. This makes
freeze in 1.9 also behave exactly as in 1.8 wrt blocking packs entirely.

* subversion/libsvn_fs_fs/fs.c
  (fs_freeze_body2): New intermediate wrapper around fs_freeze_body
                     taking out the inner (write) lock.
  (fs_freeze): Take out the outer (pack) lock, if supported by the FS.

Found by: kotkov

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615351 13f79535-47bb-0310-9956-ffa450edef68
Implement a TODO.

* subversion/libsvn_fs_fs/cached_data.c
  (get_root_changes_offset): Instead of a plain APR file, take a proper
                             revision file struct as parameter.  That
                             carries information about the pack state.
  (svn_fs_fs__rev_get_root,
   svn_fs_fs__get_changes): Update callers.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615352 13f79535-47bb-0310-9956-ffa450edef68
Enable mutex checks on named atomics to detect incorrect mutex usage.
This will cause the test suite to fail as our usage *is* broken.
Will be fixed with the next commit.

* subversion/libsvn_subr/named_atomic.c
  (init_thread_mutex): Enable checks for correct mutex usage.  We can
                       allow for the overhead as we need to use expensive
                       file locks anyway.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615353 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to 1612405: Fix mutex usage snafu in named atomics.

* subversion/libsvn_subr/named_atomic.c
  (lock): Take out and _keep_ the thread mutex.

Found by: ivan

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615354 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_fs_fs/tree.c
  (open_path): Fix typo in comment. No functional change.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615356 13f79535-47bb-0310-9956-ffa450edef68