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.