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 2014/04/22 20:47:51 UTC

svn commit: r1589250 - in /subversion/trunk/subversion/libsvn_fs_fs: fs_fs.c fs_fs.h hotcopy.c recovery.c

Author: stefan2
Date: Tue Apr 22 18:47:50 2014
New Revision: 1589250

URL: http://svn.apache.org/r1589250
Log:
It turns out that when we want to put a repo under complete lockdown,
i.e. take out all locks, there is no need to sometimes allow new txns
to be created.

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__with_all_locks): Remove allow_new_txns parameter.

* subversion/libsvn_fs_fs/fs_fs.c
  (svn_fs_fs__with_all_locks): One option less.
  (svn_fs_fs__upgrade): Update caller.

* subversion/libsvn_fs_fs/recovery.c
  (svn_fs_fs__recover): Same.

* subversion/libsvn_fs_fs/hotcopy.c
  (svn_fs_fs__hotcopy): Same. There is no need to allow new txns in
                        the target repo while hotcopying.

Modified:
    subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
    subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h
    subversion/trunk/subversion/libsvn_fs_fs/hotcopy.c
    subversion/trunk/subversion/libsvn_fs_fs/recovery.c

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=1589250&r1=1589249&r2=1589250&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Tue Apr 22 18:47:50 2014
@@ -379,7 +379,6 @@ svn_fs_fs__with_txn_current_lock(svn_fs_
 
 svn_error_t *
 svn_fs_fs__with_all_locks(svn_fs_t *fs,
-                          svn_boolean_t allow_new_txns,
                           svn_error_t *(*body)(void *baton,
                                                apr_pool_t *pool),
                           void *baton,
@@ -393,8 +392,7 @@ svn_fs_fs__with_all_locks(svn_fs_t *fs,
   if (ffd->format >= SVN_FS_FS__MIN_PACK_LOCK_FORMAT)
     lock_baton = chain_lock_baton(pack_lock, lock_baton);
 
-  if (!allow_new_txns)
-    lock_baton = chain_lock_baton(txn_lock, lock_baton);
+  lock_baton = chain_lock_baton(txn_lock, lock_baton);
 
   return svn_error_trace(with_lock(lock_baton, pool));
 }
@@ -1166,7 +1164,7 @@ svn_fs_fs__upgrade(svn_fs_t *fs,
   baton.cancel_func = cancel_func;
   baton.cancel_baton = cancel_baton;
   
-  return svn_fs_fs__with_all_locks(fs, FALSE, upgrade_body, (void *)&baton, pool);
+  return svn_fs_fs__with_all_locks(fs, upgrade_body, (void *)&baton, pool);
 }
 
 /* Find the youngest revision in a repository at path FS_PATH and

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=1589250&r1=1589249&r2=1589250&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h Tue Apr 22 18:47:50 2014
@@ -167,15 +167,12 @@ svn_fs_fs__with_txn_current_lock(svn_fs_
 
 /* Obtain all locks on the filesystem FS in a subpool of POOL, call BODY
    with BATON and that subpool, destroy the subpool (releasing the locks)
-   and return what BODY returned.  If ALLOW_NEW_TXNS is TRUE, other svn_fs_t
-   instances may start new transactions while we hold the locks.
+   and return what BODY returned.
 
    This combines svn_fs_fs__with_write_lock, svn_fs_fs__with_pack_lock,
-   and optionally svn_fs_fs__with_txn_current_lock, ensuring correct lock
-   ordering. */
+   and svn_fs_fs__with_txn_current_lock, ensuring correct lock ordering. */
 svn_error_t *
 svn_fs_fs__with_all_locks(svn_fs_t *fs,
-                          svn_boolean_t allow_new_txns,
                           svn_error_t *(*body)(void *baton,
                                                apr_pool_t *pool),
                           void *baton,

Modified: subversion/trunk/subversion/libsvn_fs_fs/hotcopy.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/hotcopy.c?rev=1589250&r1=1589249&r2=1589250&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/hotcopy.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/hotcopy.c Tue Apr 22 18:47:50 2014
@@ -1104,7 +1104,7 @@ svn_fs_fs__hotcopy(svn_fs_t *src_fs,
   hbb.incremental = incremental;
   hbb.cancel_func = cancel_func;
   hbb.cancel_baton = cancel_baton;
-  SVN_ERR(svn_fs_fs__with_all_locks(dst_fs, TRUE, hotcopy_body, &hbb, pool));
+  SVN_ERR(svn_fs_fs__with_all_locks(dst_fs, hotcopy_body, &hbb, pool));
 
   return SVN_NO_ERROR;
 }

Modified: subversion/trunk/subversion/libsvn_fs_fs/recovery.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/recovery.c?rev=1589250&r1=1589249&r2=1589250&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/recovery.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/recovery.c Tue Apr 22 18:47:50 2014
@@ -507,5 +507,5 @@ svn_fs_fs__recover(svn_fs_t *fs,
   b.fs = fs;
   b.cancel_func = cancel_func;
   b.cancel_baton = cancel_baton;
-  return svn_fs_fs__with_all_locks(fs, FALSE, recover_body, &b, pool);
+  return svn_fs_fs__with_all_locks(fs, recover_body, &b, pool);
 }