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/29 06:16:23 UTC
svn commit: r1462401 - in /subversion/branches/verify-at-commit/subversion:
include/svn_fs.h libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h
libsvn_fs_fs/fs_fs.c
Author: danielsh
Date: Fri Mar 29 05:16:23 2013
New Revision: 1462401
URL: http://svn.apache.org/r1462401
Log:
On the verify-at-commit branch, revert r1462054. This removes the approach
which 'svnadmin verify -t' makes obsolete.
* subversion/libsvn_fs_fs/fs_fs.c
(verify_as_revision_before_current_plus_plus): Remove reference to now-removed
svn_fs_t member.
Modified:
subversion/branches/verify-at-commit/subversion/include/svn_fs.h
subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.c
subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.h
subversion/branches/verify-at-commit/subversion/libsvn_fs_fs/fs_fs.c
Modified: subversion/branches/verify-at-commit/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-at-commit/subversion/include/svn_fs.h?rev=1462401&r1=1462400&r2=1462401&view=diff
==============================================================================
--- subversion/branches/verify-at-commit/subversion/include/svn_fs.h (original)
+++ subversion/branches/verify-at-commit/subversion/include/svn_fs.h Fri Mar 29 05:16:23 2013
@@ -130,13 +130,6 @@ typedef struct svn_fs_t svn_fs_t;
* @since New in 1.8.
*/
#define SVN_FS_CONFIG_PRE_1_8_COMPATIBLE "pre-1.8-compatible"
-
-
-/** @since New in 1.8. */
-#define SVN_FS_CONFIG_SECTION_MISC "miscellany"
-/** @since New in 1.8. */
-#define SVN_FS_CONFIG_OPTION_VERIFY_AT_COMMIT "verify-at-commit"
-
/** @} */
Modified: subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.c?rev=1462401&r1=1462400&r2=1462401&view=diff
==============================================================================
--- subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.c Fri Mar 29 05:16:23 2013
@@ -32,7 +32,6 @@
#include "svn_hash.h"
#include "svn_ctype.h"
-#include "svn_config.h"
#include "svn_types.h"
#include "svn_dso.h"
#include "svn_version.h"
@@ -58,7 +57,6 @@
#endif
#define FS_TYPE_FILENAME "fs-type"
-#define CONFIG_FILENAME "fs.conf"
/* A pool common to all FS objects. See the documentation on the
open/create functions in fs-loader.h and for svn_fs_initialize(). */
@@ -340,26 +338,6 @@ write_fs_type(const char *path, const ch
return svn_error_trace(svn_io_file_close(file, pool));
}
-static svn_error_t *
-write_config(const char *path, apr_pool_t *pool)
-{
- static const char * const fs_conf_contents =
-#define NL APR_EOL_STR
-"### This file controls backend-independent filesystem configuration." NL
-"" NL
-"[" SVN_FS_CONFIG_SECTION_MISC "]" NL
-"### When set, Subversion will run the equivalent of 'svnadmin verify -r'" NL
-"### on each transaction (commit-in-progress) just before it becomes" NL
-"### a revision. This may slow down commits, since the cost of" NL
-"### verification is proportional to the size of the commit (e.g., number" NL
-"### of files 'svn log -q -v -r N' shows)." NL
-"# " SVN_FS_CONFIG_OPTION_VERIFY_AT_COMMIT " = false" NL
-;
-#undef NL
- SVN_ERR(svn_io_file_create(svn_dirent_join(path, CONFIG_FILENAME, pool),
- fs_conf_contents, pool));
- return SVN_NO_ERROR;
-}
/* --- Functions for operating on filesystems by pathname --- */
@@ -436,11 +414,6 @@ fs_new(apr_hash_t *fs_config, apr_pool_t
fs->vtable = NULL;
fs->fsap_data = NULL;
fs->uuid = NULL;
-#ifdef SVN_DEBUG
- fs->verify_at_commit = TRUE;
-#else
- fs->verify_at_commit = FALSE;
-#endif
return fs;
}
@@ -472,7 +445,6 @@ svn_fs_create(svn_fs_t **fs_p, const cha
/* Create the FS directory and write out the fsap-name file. */
SVN_ERR(svn_io_dir_make_sgid(path, APR_OS_DEFAULT, pool));
SVN_ERR(write_fs_type(path, fs_type, pool));
- SVN_ERR(write_config(path, pool));
/* Perform the actual creation. */
*fs_p = fs_new(fs_config, pool);
@@ -489,20 +461,9 @@ svn_fs_open(svn_fs_t **fs_p, const char
apr_pool_t *pool)
{
fs_library_vtable_t *vtable;
- svn_config_t *config;
SVN_ERR(fs_library_vtable(&vtable, path, pool));
*fs_p = fs_new(fs_config, pool);
-
- SVN_ERR(svn_config_read2(&config,
- svn_dirent_join(path, CONFIG_FILENAME, pool),
- FALSE /* must_exist */, TRUE /* case-sensitive */,
- pool));
- SVN_ERR(svn_config_get_bool(config, &(*fs_p)->verify_at_commit,
- SVN_FS_CONFIG_SECTION_MISC,
- SVN_FS_CONFIG_OPTION_VERIFY_AT_COMMIT,
- (*fs_p)->verify_at_commit));
-
SVN_MUTEX__WITH_LOCK(common_pool_lock,
vtable->open_fs(*fs_p, path, pool, common_pool));
SVN_ERR(vtable->set_svn_fs_open(*fs_p, svn_fs_open));
@@ -797,19 +758,23 @@ svn_fs_commit_txn(const char **conflict_
svn_fs_txn_t *txn, apr_pool_t *pool)
{
svn_error_t *err;
- svn_fs_t *fs = txn->fs;
+#if defined(PACK_AFTER_EVERY_COMMIT) || defined(SVN_DEBUG)
+ svn_fs_root_t *txn_root;
+#endif
*new_rev = SVN_INVALID_REVNUM;
if (conflict_p)
*conflict_p = NULL;
- if (fs->verify_at_commit)
- {
- /* ### TODO: should this run just before incrementing 'current'? */
- svn_fs_root_t *txn_root;
- SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
- SVN_ERR(svn_fs_verify_root(txn_root, pool));
- }
+#if defined(PACK_AFTER_EVERY_COMMIT) || defined(SVN_DEBUG)
+ SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
+#endif
+
+#ifdef SVN_DEBUG
+ /* ### TODO: add db/fs.conf with a knob to enable this in release builds */
+ /* ### TODO: should this run just before incrementing 'current'? */
+ SVN_ERR(svn_fs_verify_root(txn_root, pool));
+#endif
err = txn->vtable->commit(conflict_p, new_rev, txn, pool);
@@ -829,6 +794,7 @@ svn_fs_commit_txn(const char **conflict_
#ifdef PACK_AFTER_EVERY_COMMIT
{
+ svn_fs_t *fs = svn_fs_root_fs(txn_root);
const char *fs_path = svn_fs_path(fs, pool);
err = svn_fs_pack(fs_path, NULL, NULL, NULL, NULL, pool);
if (err && err->apr_err == SVN_ERR_UNSUPPORTED_FEATURE)
Modified: subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.h?rev=1462401&r1=1462400&r2=1462401&view=diff
==============================================================================
--- subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.h (original)
+++ subversion/branches/verify-at-commit/subversion/libsvn_fs/fs-loader.h Fri Mar 29 05:16:23 2013
@@ -415,9 +415,6 @@ struct svn_fs_t
/* UUID, stored by open(), create(), and set_uuid(). */
const char *uuid;
-
- /* Parsed contents of fs.conf */
- svn_boolean_t verify_at_commit;
};
Modified: subversion/branches/verify-at-commit/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-at-commit/subversion/libsvn_fs_fs/fs_fs.c?rev=1462401&r1=1462400&r2=1462401&view=diff
==============================================================================
--- subversion/branches/verify-at-commit/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/branches/verify-at-commit/subversion/libsvn_fs_fs/fs_fs.c Fri Mar 29 05:16:23 2013
@@ -8278,9 +8278,7 @@ verify_as_revision_before_current_plus_p
svn_fs_root_t *root;
fs_fs_data_t *ft_ffd;
- /* ### TODO: skip the call at svn_fs_commit_txn() */
- if (! fs->verify_at_commit)
- return SVN_NO_ERROR;
+ /* ### TODO: make this logic conditional */
SVN_ERR_ASSERT(ffd->svn_fs_open_);