You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2013/03/26 23:03:19 UTC

svn commit: r1461335 - in /subversion/trunk/subversion: include/svn_fs.h libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h libsvn_fs_base/fs.c libsvn_fs_fs/fs_fs.c libsvn_fs_fs/fs_fs.h libsvn_repos/dump.c

Author: danielsh
Date: Tue Mar 26 22:03:19 2013
New Revision: 1461335

URL: http://svn.apache.org/r1461335
Log:
FS: Allow the 'verify' API to run against transaction roots.

* subversion/include/svn_fs.h
  (svn_fs_verify_rev): Change signature.

* subversion/libsvn_repos/dump.c
  (svn_repos_verify_fs2): Update caller.

* subversion/libsvn_fs/fs-loader.c
  (svn_repos_verify_fs2): Propagate signature change.

* subversion/libsvn_fs/fs-loader.h
  (fs_vtable_t.verify_rev): Update signature.

* subversion/libsvn_fs_base/fs.c
  (base_bdb_verify_rev): Track signature change.

* subversion/libsvn_fs_fs/fs_fs.c
  (svn_fs_fs__verify_rev): Track signature change, adjust code accordingly.

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__verify_rev): Track signature change.

Modified:
    subversion/trunk/subversion/include/svn_fs.h
    subversion/trunk/subversion/libsvn_fs/fs-loader.c
    subversion/trunk/subversion/libsvn_fs/fs-loader.h
    subversion/trunk/subversion/libsvn_fs_base/fs.c
    subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
    subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h
    subversion/trunk/subversion/libsvn_repos/dump.c

Modified: subversion/trunk/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_fs.h?rev=1461335&r1=1461334&r2=1461335&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_fs.h (original)
+++ subversion/trunk/subversion/include/svn_fs.h Tue Mar 26 22:03:19 2013
@@ -2464,7 +2464,7 @@ svn_fs_verify(const char *path,
  */
 svn_error_t *
 svn_fs_verify_rev(svn_fs_t *fs,
-                  svn_revnum_t revision,
+                  svn_fs_root_t *root,
                   apr_pool_t *scratch_pool);
 
 /** @} */

Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.c?rev=1461335&r1=1461334&r2=1461335&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.c Tue Mar 26 22:03:19 2013
@@ -630,10 +630,10 @@ svn_fs_recover(const char *path,
 
 svn_error_t *
 svn_fs_verify_rev(svn_fs_t *fs,
-                  svn_revnum_t revision,
+                  svn_fs_root_t *root,
                   apr_pool_t *scratch_pool)
 {
-  SVN_ERR(fs->vtable->verify_rev(fs, revision, scratch_pool));
+  SVN_ERR(fs->vtable->verify_rev(fs, root, scratch_pool));
 
   return SVN_NO_ERROR;
 }

Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.h?rev=1461335&r1=1461334&r2=1461335&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.h (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.h Tue Mar 26 22:03:19 2013
@@ -205,7 +205,7 @@ typedef struct fs_vtable_t
                             void *get_locks_baton,
                             apr_pool_t *pool);
   svn_error_t *(*verify_rev)(svn_fs_t *fs,
-                             svn_revnum_t revision,
+                             svn_fs_root_t *root,
                              apr_pool_t *pool);
   svn_error_t *(*freeze)(svn_fs_t *fs,
                          svn_error_t *(*freeze_body)(void *, apr_pool_t *),

Modified: subversion/trunk/subversion/libsvn_fs_base/fs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/fs.c?rev=1461335&r1=1461334&r2=1461335&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/fs.c Tue Mar 26 22:03:19 2013
@@ -472,7 +472,7 @@ bdb_write_config(svn_fs_t *fs)
 
 static svn_error_t *
 base_bdb_verify_rev(svn_fs_t *fs,
-                    svn_revnum_t revision,
+                    svn_fs_root_t *root,
                     apr_pool_t *scratch_pool)
 {
   /* Verifying is currently a no op for BDB. */

Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1461335&r1=1461334&r2=1461335&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Tue Mar 26 22:03:19 2013
@@ -10433,11 +10433,9 @@ svn_fs_fs__verify(svn_fs_t *fs,
 
 svn_error_t *
 svn_fs_fs__verify_rev(svn_fs_t *fs,
-                      svn_revnum_t revision,
+                      svn_fs_root_t *root,
                       apr_pool_t *pool)
 {
-  svn_fs_root_t *root;
-
   /* Issue #4129: bogus pred-counts and minfo-cnt's on the root node-rev
      (and elsewhere).  This code makes more thorough checks than the
      commit-time checks in validate_root_noderev(). */
@@ -10447,7 +10445,6 @@ svn_fs_fs__verify_rev(svn_fs_t *fs,
      When this code is called in the library, we want to ensure we
      use the on-disk data --- rather than some data that was read
      in the possibly-distance past and cached since. */
-  SVN_ERR(svn_fs_fs__revision_root(&root, fs, revision, pool));
   SVN_ERR(svn_fs_fs__verify_root(root, pool));
 
   return SVN_NO_ERROR;

Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h?rev=1461335&r1=1461334&r2=1461335&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h Tue Mar 26 22:03:19 2013
@@ -56,7 +56,7 @@ svn_error_t *svn_fs_fs__verify(svn_fs_t 
  * Use POOL for temporary allocations. */
 svn_error_t *
 svn_fs_fs__verify_rev(svn_fs_t *fs,
-                      svn_revnum_t revision,
+                      svn_fs_root_t *root,
                       apr_pool_t *pool);
 
 /* Copy the fsfs filesystem SRC_FS at SRC_PATH into a new copy DST_FS at

Modified: subversion/trunk/subversion/libsvn_repos/dump.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/dump.c?rev=1461335&r1=1461334&r2=1461335&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/dump.c (original)
+++ subversion/trunk/subversion/libsvn_repos/dump.c Tue Mar 26 22:03:19 2013
@@ -1469,9 +1469,9 @@ svn_repos_verify_fs2(svn_repos_t *repos,
                                                 &cancel_edit_baton,
                                                 iterpool));
 
-      SVN_ERR(svn_fs_verify_rev(fs, rev, iterpool));
-
       SVN_ERR(svn_fs_revision_root(&to_root, fs, rev, iterpool));
+      SVN_ERR(svn_fs_verify_rev(fs, to_root, iterpool));
+
       SVN_ERR(svn_repos_replay2(to_root, "", SVN_INVALID_REVNUM, FALSE,
                                 cancel_editor, cancel_edit_baton,
                                 NULL, NULL, iterpool));



Re: svn commit: r1461335 - in /subversion/trunk/subversion: include/svn_fs.h libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h libsvn_fs_base/fs.c libsvn_fs_fs/fs_fs.c libsvn_fs_fs/fs_fs.h libsvn_repos/dump.c

Posted by "C. Michael Pilato" <cm...@collab.net>.
On 03/27/2013 11:04 AM, Daniel Shahaf wrote:
> C. Michael Pilato wrote on Wed, Mar 27, 2013 at 10:56:40 -0400:
>> On 03/26/2013 06:03 PM, danielsh@apache.org wrote:
>>> Author: danielsh
>>> Date: Tue Mar 26 22:03:19 2013
>>> New Revision: 1461335
>>>
>>> URL: http://svn.apache.org/r1461335
>>> Log:
>>> FS: Allow the 'verify' API to run against transaction roots.
>>>
>>> * subversion/include/svn_fs.h
>>>   (svn_fs_verify_rev): Change signature.
>>
>> This function needs a new name.  I suggest "svn_fs_verify_root" (and no, I'm
>> not concerned about confusion with other meanings of "root" within this FS
>> context).
> 
> I'm not sure what those "other meanings" are, but I'll fix that in a
> second.

"Root directory of the filesystem", for example.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Enterprise Cloud Development


Re: svn commit: r1461335 - in /subversion/trunk/subversion: include/svn_fs.h libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h libsvn_fs_base/fs.c libsvn_fs_fs/fs_fs.c libsvn_fs_fs/fs_fs.h libsvn_repos/dump.c

Posted by Daniel Shahaf <da...@apache.org>.
C. Michael Pilato wrote on Wed, Mar 27, 2013 at 10:56:40 -0400:
> On 03/26/2013 06:03 PM, danielsh@apache.org wrote:
> > Author: danielsh
> > Date: Tue Mar 26 22:03:19 2013
> > New Revision: 1461335
> > 
> > URL: http://svn.apache.org/r1461335
> > Log:
> > FS: Allow the 'verify' API to run against transaction roots.
> > 
> > * subversion/include/svn_fs.h
> >   (svn_fs_verify_rev): Change signature.
> 
> This function needs a new name.  I suggest "svn_fs_verify_root" (and no, I'm
> not concerned about confusion with other meanings of "root" within this FS
> context).

I'm not sure what those "other meanings" are, but I'll fix that in a
second.

Thanks

Daniel

Re: svn commit: r1461335 - in /subversion/trunk/subversion: include/svn_fs.h libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h libsvn_fs_base/fs.c libsvn_fs_fs/fs_fs.c libsvn_fs_fs/fs_fs.h libsvn_repos/dump.c

Posted by "C. Michael Pilato" <cm...@collab.net>.
On 03/26/2013 06:03 PM, danielsh@apache.org wrote:
> Author: danielsh
> Date: Tue Mar 26 22:03:19 2013
> New Revision: 1461335
> 
> URL: http://svn.apache.org/r1461335
> Log:
> FS: Allow the 'verify' API to run against transaction roots.
> 
> * subversion/include/svn_fs.h
>   (svn_fs_verify_rev): Change signature.

This function needs a new name.  I suggest "svn_fs_verify_root" (and no, I'm
not concerned about confusion with other meanings of "root" within this FS
context).

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Enterprise Cloud Development