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

Re: svn commit: r1125729 - in /subversion/trunk/subversion: include/svn_fs.h libsvn_fs_fs/caching.c

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Sat, 21 May 2011 22:14:21 +0200

On Sat, May 21, 2011 at 17:32, <stefan2_at_apache.org> wrote:
> Author: stefan2
> Date: Sat May 21 15:32:16 2011
> New Revision: 1125729
>
> URL: http://svn.apache.org/viewvc?rev=1125729&view=rev
> Log:
> First step towards removing FSFS-specific options from the global
> cache configuration structure. In the future, these settings shall be
> configurable on a per-repository basis and be passed as part of the
> fs_config options hash.
>
> * subversion/include/svn_fs.h
>  (SVN_FS_CONFIG_FSFS_CACHE_DELTAS,
>   SVN_FS_CONFIG_FSFS_CACHE_FULLTEXTS): define
> * subversion/libsvn_fs_fs/caching.c
>  (read_config): read additional options from config hash
>  (svn_fs_fs__initialize_caches): apply these options
>
[..]

> Modified: subversion/trunk/subversion/libsvn_fs_fs/caching.c
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/caching.c?rev=1125729&r1=1125728&r2=1125729&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_fs_fs/caching.c (original)
> +++ subversion/trunk/subversion/libsvn_fs_fs/caching.c Sat May 21 15:32:16 2011
[..]

> @@ -181,8 +194,16 @@ svn_fs_fs__initialize_caches(svn_fs_t *f
>                                    (char *)NULL);
>   svn_memcache_t *memcache;
>   svn_boolean_t no_handler;
> -
> -  SVN_ERR(read_config(&memcache, &no_handler, fs, pool));
> +  svn_boolean_t cache_txdeltas;
> +  svn_boolean_t cache_fulltexts;
> +
> +  /* Evaluating the cache configuration. */
> +  SVN_ERR(read_config(&memcache,
> +                      &no_handler,
> +                      &cache_txdeltas,
> +                      &cache_fulltexts,
> +                      fs,
> +                      pool));
>
>   /* Make the cache for revision roots.  For the vast majority of
>    * commands, this is only going to contain a few entries (svnadmin
> @@ -282,39 +303,35 @@ svn_fs_fs__initialize_caches(svn_fs_t *f
>   SVN_ERR(init_callbacks(ffd->packed_offset_cache, fs, no_handler, pool));
>
>   /* initialize fulltext cache as configured */
> -  if (memcache)
> -    {
> -      SVN_ERR(svn_cache__create_memcache(&(ffd->fulltext_cache),
> -                                         memcache,
> -                                         /* Values are svn_string_t */
> -                                         NULL, NULL,
> -                                         APR_HASH_KEY_STRING,
> -                                         apr_pstrcat(pool, prefix, "TEXT",
> -                                                     (char *)NULL),
> -                                         fs->pool));
> -    }
> -  else if (svn_cache__get_global_membuffer_cache() &&
> -           svn_get_cache_config()->cache_fulltexts)
> -    {
> -      SVN_ERR(svn_cache__create_membuffer_cache(&(ffd->fulltext_cache),
> -                                                svn_cache__get_global_membuffer_cache(),
> -                                                /* Values are svn_string_t */
> -                                                NULL, NULL,
> -                                                APR_HASH_KEY_STRING,
> -                                                apr_pstrcat(pool, prefix, "TEXT",
> -                                                            (char *)NULL),
> -                                                fs->pool));
> -    }
> -  else
> -    {
> -      ffd->fulltext_cache = NULL;
> -    }
> +  ffd->fulltext_cache = NULL;
> +  if (cache_txdeltas)
^^^^^^^^^^ I think you should use 'cache_fulltexts', not 'cache_txdeltas'.
> +    if (memcache)
> +      {
> +        SVN_ERR(svn_cache__create_memcache(&(ffd->fulltext_cache),
> +                                           memcache,
> +                                           /* Values are svn_string_t */
> +                                           NULL, NULL,
> +                                           APR_HASH_KEY_STRING,
> +                                           apr_pstrcat(pool, prefix, "TEXT",
> +                                                       (char *)NULL),
> +                                           fs->pool));
> +      }
> +    else if (svn_cache__get_global_membuffer_cache())
> +      {
> +        SVN_ERR(svn_cache__create_membuffer_cache(&(ffd->fulltext_cache),
> +                                                  svn_cache__get_global_membuffer_cache(),
> +                                                  /* Values are svn_string_t */
> +                                                  NULL, NULL,
> +                                                  APR_HASH_KEY_STRING,
> +                                                  apr_pstrcat(pool, prefix, "TEXT",
> +                                                              (char *)NULL),
> +                                                  fs->pool));
> +      }
>

-- 
Ivan Zhakov
Received on 2011-05-21 22:15:13 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.