diff options
author | Lukas Slebodnik <lslebodn@redhat.com> | 2015-06-30 13:50:51 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-07-03 15:16:44 +0200 |
commit | ebf6735dd4f71bf3dc9105e5d04d11e744c64a59 (patch) | |
tree | 57eea70a590336d2f004d7e5c108828954d09716 /src/responder/nss/nsssrv.c | |
parent | 323943605c88838f1f86a72f891eb28600bb34e2 (diff) | |
download | sssd-ebf6735dd4f71bf3dc9105e5d04d11e744c64a59.tar.gz sssd-ebf6735dd4f71bf3dc9105e5d04d11e744c64a59.tar.xz sssd-ebf6735dd4f71bf3dc9105e5d04d11e744c64a59.zip |
nss: Store entries in responder to initgr mmap cache
Resolves:
https://fedorahosted.org/sssd/ticket/2485
Reviewed-by: Michal Židek <mzidek@redhat.com>
Diffstat (limited to 'src/responder/nss/nsssrv.c')
-rw-r--r-- | src/responder/nss/nsssrv.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/responder/nss/nsssrv.c b/src/responder/nss/nsssrv.c index 48fb19408..2b3bca892 100644 --- a/src/responder/nss/nsssrv.c +++ b/src/responder/nss/nsssrv.c @@ -124,6 +124,15 @@ static int nss_clear_memcache(struct sbus_request *dbus_req, void *data) return ret; } + ret = sss_mmap_cache_reinit(nctx, SSS_MC_CACHE_ELEMENTS, + (time_t)memcache_timeout, + &nctx->initgr_mc_ctx); + if (ret != EOK) { + DEBUG(SSSDBG_CRIT_FAILURE, + "initgroups mmap cache invalidation failed\n"); + return ret; + } + done: return sbus_request_return_and_finish(dbus_req, DBUS_TYPE_INVALID); } @@ -517,6 +526,13 @@ int nss_process_init(TALLOC_CTX *mem_ctx, DEBUG(SSSDBG_CRIT_FAILURE, "group mmap cache is DISABLED\n"); } + ret = sss_mmap_cache_init(nctx, "initgroups", SSS_MC_INITGROUPS, + SSS_MC_CACHE_ELEMENTS, (time_t)memcache_timeout, + &nctx->initgr_mc_ctx); + if (ret) { + DEBUG(SSSDBG_CRIT_FAILURE, "inigroups mmap cache is DISABLED\n"); + } + /* Set up file descriptor limits */ ret = confdb_get_int(nctx->rctx->cdb, CONFDB_NSS_CONF_ENTRY, |