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/09/15 17:04:50 UTC

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

Author: stefan2
Date: Sun Sep 15 15:04:50 2013
New Revision: 1523439

URL: http://svn.apache.org/r1523439
Log:
On the fsfs-format7 branch:
Fix FSFS f7 low-level checksum verification for items larger than 4k.

* subversion/libsvn_fs_fs/verify.c
  (expected_streamed_checksum): track progress

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=1523439&r1=1523438&r2=1523439&view=diff
==============================================================================
--- subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c (original)
+++ subversion/branches/log-addressing/subversion/libsvn_fs_fs/verify.c Sun Sep 15 15:04:50 2013
@@ -442,15 +442,17 @@ expected_streamed_checksum(apr_file_t *f
   svn_checksum_t *checksum;
   svn_checksum_ctx_t *context
     = svn_checksum_ctx_create(svn_checksum_fnv1a_32x4, pool);
+  apr_off_t size = entry->size;
 
-  while (entry->size > 0)
+  while (size > 0)
     {
-      apr_size_t to_read = entry->size > sizeof(buffer)
+      apr_size_t to_read = size > sizeof(buffer)
                          ? sizeof(buffer)
-                         : (apr_size_t)entry->size;
+                         : (apr_size_t)size;
       SVN_ERR(svn_io_file_read_full2(file, buffer, to_read, NULL, NULL,
                                      pool));
       SVN_ERR(svn_checksum_update(context, buffer, to_read));
+      size -= to_read;
     }
 
   SVN_ERR(svn_checksum_final(&checksum, context, pool));