Author: danielsh
Date: Wed Jul 13 16:59:15 2011
New Revision: 1146134
URL: http://svn.apache.org/viewvc?rev=1146134&view=rev
Log:
Teach svn_fs_verify() cancellation.
* subversion/include/svn_fs.h
(svn_fs_verify):
* subversion/libsvn_fs/fs-loader.c
(svn_fs_verify):
* subversion/libsvn_fs/fs-loader.h
(svn_fs_verify, verify_fs):
* subversion/libsvn_fs_base/fs.c
(base_verify):
* subversion/libsvn_fs_fs/fs.c
(fs_verify):
* subversion/libsvn_fs_fs/fs_fs.h
(svn_fs_fs__verify):
* subversion/libsvn_fs_fs/fs_fs.c
(svn_fs_fs__verify):
Add and pass down CANCEL_FUNC/CANCEL_BATON arguments.
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.c
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h
Modified: subversion/trunk/subversion/include/svn_fs.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_fs.h?rev=1146134&r1=1146133&r2=1146134&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_fs.h (original)
+++ subversion/trunk/subversion/include/svn_fs.h Wed Jul 13 16:59:15 2011
@@ -258,6 +258,8 @@ svn_fs_upgrade(const char *path,
*/
svn_error_t *
svn_fs_verify(const char *path,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
apr_pool_t *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=1146134&r1=1146133&r2=1146134&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.c Wed Jul 13 16:59:15 2011
@@ -460,7 +460,10 @@ svn_fs_upgrade(const char *path, apr_poo
}
svn_error_t *
-svn_fs_verify(const char *path, apr_pool_t *pool)
+svn_fs_verify(const char *path,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool)
{
svn_error_t *err;
svn_error_t *err2;
@@ -470,7 +473,8 @@ svn_fs_verify(const char *path, apr_pool
SVN_ERR(fs_library_vtable(&vtable, path, pool));
fs = fs_new(NULL, pool);
SVN_ERR(acquire_fs_mutex());
- err = vtable->verify_fs(fs, path, pool, common_pool);
+ err = vtable->verify_fs(fs, path, cancel_func, cancel_baton,
+ pool, common_pool);
err2 = release_fs_mutex();
if (err)
{
Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.h?rev=1146134&r1=1146133&r2=1146134&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.h (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.h Wed Jul 13 16:59:15 2011
@@ -88,7 +88,7 @@ typedef struct fs_library_vtable_t
apr_pool_t *common_pool);
svn_error_t *(*verify_fs)(svn_fs_t *fs, const char *path,
/* ### notification? */
- /* ### cancellation? */
+ svn_cancel_func_t cancel_func, void *cancel_baton,
apr_pool_t *pool,
apr_pool_t *common_pool);
svn_error_t *(*delete_fs)(const char *path, apr_pool_t *pool);
Modified: subversion/trunk/subversion/libsvn_fs_base/fs.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/fs.c?rev=1146134&r1=1146133&r2=1146134&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/fs.c Wed Jul 13 16:59:15 2011
@@ -874,7 +874,10 @@ base_upgrade(svn_fs_t *fs, const char *p
}
static svn_error_t *
-base_verify(svn_fs_t *fs, const char *path, apr_pool_t *pool,
+base_verify(svn_fs_t *fs, const char *path,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool,
apr_pool_t *common_pool)
{
/* ### Any boilerplate needed here? */
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs.c?rev=1146134&r1=1146133&r2=1146134&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs.c Wed Jul 13 16:59:15 2011
@@ -256,15 +256,18 @@ fs_upgrade(svn_fs_t *fs, const char *pat
}
static svn_error_t *
-fs_verify(svn_fs_t *fs, const char *path, apr_pool_t *pool,
- apr_pool_t *common_pool)
+fs_verify(svn_fs_t *fs, const char *path,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool,
+ apr_pool_t *common_pool)
{
SVN_ERR(svn_fs__check_fs(fs, FALSE));
SVN_ERR(initialize_fs_struct(fs));
SVN_ERR(svn_fs_fs__open(fs, path, pool));
SVN_ERR(svn_fs_fs__initialize_caches(fs, pool));
SVN_ERR(fs_serialized_init(fs, common_pool, pool));
- return svn_fs_fs__verify(fs, pool);
+ return svn_fs_fs__verify(fs, cancel_func, cancel_baton, pool);
}
static svn_error_t *
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=1146134&r1=1146133&r2=1146134&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Wed Jul 13 16:59:15 2011
@@ -1325,7 +1325,10 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo
/** Verifying. **/
svn_error_t *
-svn_fs_fs__verify(svn_fs_t *fs, apr_pool_t *pool)
+svn_fs_fs__verify(svn_fs_t *fs,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool)
{
return SVN_NO_ERROR; /* ### Not implemented. Should dereference rep-cache */
}
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=1146134&r1=1146133&r2=1146134&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.h Wed Jul 13 16:59:15 2011
@@ -40,6 +40,8 @@ svn_error_t *svn_fs_fs__upgrade(svn_fs_t
/* Verify the fsfs filesystem FS. Use POOL for temporary allocations. */
svn_error_t *svn_fs_fs__verify(svn_fs_t *fs,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
apr_pool_t *pool);
/* Copy the fsfs filesystem at SRC_PATH into a new copy at DST_PATH.