summaryrefslogtreecommitdiff
path: root/src/monitor
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-12-15 16:50:31 +0100
committerJakub Hrozek <jhrozek@redhat.com>2012-12-18 17:25:35 +0100
commitccb2c1f30b04bf1f7a33f47748664dedb7ddd0e3 (patch)
tree1661b1fd5970ecf45d21ee7566045abc61743724 /src/monitor
parente880949305cee3aca79441fe6113a9d79e7c98f2 (diff)
downloadsssd-ccb2c1f30b04bf1f7a33f47748664dedb7ddd0e3.tar.gz
sssd-ccb2c1f30b04bf1f7a33f47748664dedb7ddd0e3.tar.bz2
sssd-ccb2c1f30b04bf1f7a33f47748664dedb7ddd0e3.zip
AUTOFS: Clear enum cache if a request comes in from the sss_cache
In order for sss_cache to work correctly, we must also signal the autofs responder to invalidate the hash table requests.
Diffstat (limited to 'src/monitor')
-rw-r--r--src/monitor/monitor.c8
-rw-r--r--src/monitor/monitor_interfaces.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index cc6f6d55..1fa1592a 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -761,6 +761,10 @@ static int service_signal_clear_memcache(struct mt_svc *svc)
{
return service_signal(svc, MON_CLI_METHOD_CLEAR_MEMCACHE);
}
+static int service_signal_clear_enum_cache(struct mt_svc *svc)
+{
+ return service_signal(svc, MON_CLI_METHOD_CLEAR_ENUM_CACHE);
+}
static int check_domain_ranges(struct sss_domain_info *domains)
{
@@ -1346,6 +1350,10 @@ static void monitor_hup(struct tevent_context *ev,
if (!strcmp(NSS_SBUS_SERVICE_NAME, cur_svc->name)) {
service_signal_clear_memcache(cur_svc);
}
+
+ if (!strcmp(SSS_AUTOFS_SBUS_SERVICE_NAME, cur_svc->name)) {
+ service_signal_clear_enum_cache(cur_svc);
+ }
}
}
diff --git a/src/monitor/monitor_interfaces.h b/src/monitor/monitor_interfaces.h
index abe90503..f27c7d00 100644
--- a/src/monitor/monitor_interfaces.h
+++ b/src/monitor/monitor_interfaces.h
@@ -46,6 +46,7 @@
#define MON_CLI_METHOD_RESET_OFFLINE "resetOffline" /* Applicable only to providers */
#define MON_CLI_METHOD_ROTATE "rotateLogs"
#define MON_CLI_METHOD_CLEAR_MEMCACHE "clearMemcache"
+#define MON_CLI_METHOD_CLEAR_ENUM_CACHE "clearEnumCache"
#define SSSD_SERVICE_PIPE "private/sbus-monitor"