diff options
Diffstat (limited to 'libglusterfs')
| -rw-r--r-- | libglusterfs/src/gidcache.c | 15 | ||||
| -rw-r--r-- | libglusterfs/src/gidcache.h | 1 | 
2 files changed, 16 insertions, 0 deletions
diff --git a/libglusterfs/src/gidcache.c b/libglusterfs/src/gidcache.c index c55ed2581..c5bdda925 100644 --- a/libglusterfs/src/gidcache.c +++ b/libglusterfs/src/gidcache.c @@ -35,6 +35,21 @@ int gid_cache_init(gid_cache_t *cache, uint32_t timeout)  }  /* + * Reconfigure the cache timeout. + */ +int gid_cache_reconf(gid_cache_t *cache, uint32_t timeout) +{ +        if (!cache) +                return -1; + +        LOCK(&cache->gc_lock); +        cache->gc_max_age = timeout; +        UNLOCK(&cache->gc_lock); + +        return 0; +} + +/*   * Look up an ID in the cache. If found, return the actual cache entry to avoid   * an additional allocation and memory copy. The caller should copy the data and   * release (unlock) the cache as soon as possible. diff --git a/libglusterfs/src/gidcache.h b/libglusterfs/src/gidcache.h index f904f26eb..9379f8e8b 100644 --- a/libglusterfs/src/gidcache.h +++ b/libglusterfs/src/gidcache.h @@ -45,6 +45,7 @@ typedef struct {  } gid_cache_t;  int gid_cache_init(gid_cache_t *, uint32_t); +int gid_cache_reconf(gid_cache_t *, uint32_t);  const gid_list_t *gid_cache_lookup(gid_cache_t *, uint64_t);  void gid_cache_release(gid_cache_t *, const gid_list_t *);  int gid_cache_add(gid_cache_t *, gid_list_t *);  | 
