You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by iv...@apache.org on 2015/11/23 13:41:04 UTC

svn commit: r1715793 - in /subversion/trunk/subversion/libsvn_fs_fs: fs.h transaction.c

Author: ivan
Date: Mon Nov 23 12:41:04 2015
New Revision: 1715793

URL: http://svn.apache.org/viewvc?rev=1715793&view=rev
Log:
Do not read TXN props on every svn_fs_txn_open() in libsvn_fs_fs: FSFS doesn't
use transaction_t.proplist (and never used). This code seems to inherited
from BDB.

FWIW this is responsible for about 5% I/O operations when running testsuite
over http:// protocol on Windows, because mod_dav_svn opens TXN for every
request against transaction.

* subversion/libsvn_fs_fs/fs.h
  (transaction_t): Remove PROPLIST member.

* subversion/libsvn_fs_fs/transaction.c
  (svn_fs_fs__get_txn): Remove call to get_txn_proplist().

Modified:
    subversion/trunk/subversion/libsvn_fs_fs/fs.h
    subversion/trunk/subversion/libsvn_fs_fs/transaction.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/fs.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs.h?rev=1715793&r1=1715792&r2=1715793&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs.h Mon Nov 23 12:41:04 2015
@@ -485,10 +485,6 @@ typedef struct fs_fs_data_t
 /*** Filesystem Transaction ***/
 typedef struct transaction_t
 {
-  /* property list (const char * name, svn_string_t * value).
-     may be NULL if there are no properties.  */
-  apr_hash_t *proplist;
-
   /* node revision id of the root node.  */
   const svn_fs_id_t *root_id;
 

Modified: subversion/trunk/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/transaction.c?rev=1715793&r1=1715792&r2=1715793&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/transaction.c Mon Nov 23 12:41:04 2015
@@ -1285,9 +1285,6 @@ svn_fs_fs__get_txn(transaction_t **txn_p
   svn_fs_id_t *root_id;
 
   txn = apr_pcalloc(pool, sizeof(*txn));
-  txn->proplist = apr_hash_make(pool);
-
-  SVN_ERR(get_txn_proplist(txn->proplist, fs, txn_id, pool));
   root_id = svn_fs_fs__id_txn_create_root(txn_id, pool);
 
   SVN_ERR(svn_fs_fs__get_node_revision(&noderev, fs, root_id, pool, pool));