You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2013/10/29 17:48:17 UTC

svn commit: r1536806 - /subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c

Author: stefan2
Date: Tue Oct 29 16:48:17 2013
New Revision: 1536806

URL: http://svn.apache.org/r1536806
Log:
On the log-addressing branch:  Fix the detection of a pack being done
in the background as the cause of a failed check.

* subversion/libsvn_fs_fs/verify.c
  (verify_index_consistency):  Update pack info in our internal state
                               before testing whether that state changed

Patch by: philip

Modified:
    subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c

Modified: subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c
URL: http://svn.apache.org/viewvc/subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c?rev=1536806&r1=1536805&r2=1536806&view=diff
==============================================================================
--- subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c (original)
+++ subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c Tue Oct 29 16:48:17 2013
@@ -643,6 +643,12 @@ verify_index_consistency(svn_fs_t *fs,
         err = compare_p2l_to_rev(fs, pack_start, pack_end - pack_start,
                                  cancel_func, cancel_baton, iterpool);
 
+      /* concurrent packing is one of the reasons why verification may fail.
+         Make sure, we operate on up-to-date information. */
+      if (err)
+        SVN_ERR(svn_fs_fs__read_min_unpacked_rev(&ffd->min_unpacked_rev,
+                                                 fs, pool));
+
       /* retry the whole shard if it got packed in the meantime */
       if (err && count != pack_size(fs, revision))
         {