stef...@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.

Reply via email to