You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2013/06/20 06:00:35 UTC

svn commit: r1494849 - in /subversion/branches/1.8.x: ./ STATUS subversion/libsvn_fs_fs/fs_fs.c

Author: svn-role
Date: Thu Jun 20 04:00:35 2013
New Revision: 1494849

URL: http://svn.apache.org/r1494849
Log:
Merge r1494287 from trunk:

 * r1494287
   Fix a "div-by-0" error when upgrading unsharded format 3+ FSFS repositories.
   Justification:
     Even if the format supports sharding, the actual repo may be unsharded.
     The upgrade code simply needs to check for that condition and skip revprop
     catch-up packing in that case.
   Votes:
     +1: stefan2, danielsh, ivan, philip

Modified:
    subversion/branches/1.8.x/   (props changed)
    subversion/branches/1.8.x/STATUS
    subversion/branches/1.8.x/subversion/libsvn_fs_fs/fs_fs.c

Propchange: subversion/branches/1.8.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1494287

Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1494849&r1=1494848&r2=1494849&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Thu Jun 20 04:00:35 2013
@@ -194,15 +194,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1494287
-   Fix a "div-by-0" error when upgrading unsharded format 3+ FSFS repositories.
-   Justification:
-     Even if the format supports sharding, the actual repo may be unsharded.
-     The upgrade code simply needs to check for that condition and skip revprop
-     catch-up packing in that case.
-   Votes:
-     +1: stefan2, danielsh, ivan, philip
-
  * r1494298, r1494318
    Fix a FSFS data loss when aborting 'svnadmin upgrade' late in the process.
    Justification:

Modified: subversion/branches/1.8.x/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/libsvn_fs_fs/fs_fs.c?rev=1494849&r1=1494848&r2=1494849&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/branches/1.8.x/subversion/libsvn_fs_fs/fs_fs.c Thu Jun 20 04:00:35 2013
@@ -1582,10 +1582,12 @@ upgrade_body(void *baton, apr_pool_t *po
   if (format < SVN_FS_FS__MIN_PACKED_FORMAT)
     SVN_ERR(svn_io_file_create(path_min_unpacked_rev(fs, pool), "0\n", pool));
 
-  /* If the file system supports revision packing but not revprop packing,
-     pack the revprops up to the point that revision data has been packed. */
+  /* If the file system supports revision packing but not revprop packing
+     *and* the FS has been sharded, pack the revprops up to the point that
+     revision data has been packed. */
   if (   format >= SVN_FS_FS__MIN_PACKED_FORMAT
-      && format < SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT)
+      && format < SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT
+      && max_files_per_dir > 0)
     SVN_ERR(upgrade_pack_revprops(fs, pool));
 
   /* Bump the format file. */