[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1400498 - /subversion/trunk/subversion/svnadmin/main.c

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Sun, 21 Oct 2012 21:42:18 +0200

stefan2_at_apache.org wrote on Sat, Oct 20, 2012 at 18:35:24 -0000:
> Author: stefan2
> Date: Sat Oct 20 18:35:24 2012
> New Revision: 1400498
>
> URL: http://svn.apache.org/viewvc?rev=1400498&view=rev
> Log:
> On systems without efficient 64 bit atomics, svnadmin should not attempt
> to enable revprop caching because FSFS will reject it and log a warning.
> svnadmin writes the latter to stderr - which confuses our tests.
>
> * subversion/svnadmin/main.c
> (open_repos): enable revprop caching only if efficient
>
> Modified:
> subversion/trunk/subversion/svnadmin/main.c
>
> Modified: subversion/trunk/subversion/svnadmin/main.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnadmin/main.c?rev=1400498&r1=1400497&r2=1400498&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/svnadmin/main.c (original)
> +++ subversion/trunk/subversion/svnadmin/main.c Sat Oct 20 18:35:24 2012
> @@ -43,6 +43,7 @@
> #include "svn_xml.h"
>
> #include "private/svn_opt_private.h"
> +#include "private/svn_named_atomic.h"
>
> #include "svn_private_config.h"
>
> @@ -115,7 +116,8 @@ open_repos(svn_repos_t **repos,
> apr_hash_set(fs_config, SVN_FS_CONFIG_FSFS_CACHE_FULLTEXTS,
> APR_HASH_KEY_STRING, "1");
> apr_hash_set(fs_config, SVN_FS_CONFIG_FSFS_CACHE_REVPROPS,
> - APR_HASH_KEY_STRING, "1");
> + APR_HASH_KEY_STRING,
> + svn_named_atomic__is_efficient() ? "1" : "0");

svnadmin shouldn't use private APIs here. (Which probably means this
code is a layering violation)

Maybe add a value that means "enable if it would be efficient"? Or just
unconditionally never enable the cache (regardless of the config) when
it wouldn't be efficient.
Received on 2012-10-21 21:42:57 CEST

This is an archived mail posted to the Subversion Dev mailing list.