summaryrefslogtreecommitdiffstats
path: root/src/responder/nss/nsssrv.c
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2015-06-30 13:50:51 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-07-03 15:16:44 +0200
commitebf6735dd4f71bf3dc9105e5d04d11e744c64a59 (patch)
tree57eea70a590336d2f004d7e5c108828954d09716 /src/responder/nss/nsssrv.c
parent323943605c88838f1f86a72f891eb28600bb34e2 (diff)
downloadsssd-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.c16
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,