From: Michael Olbrich Date: Tue, 4 Oct 2016 14:13:27 +0000 (+0200) Subject: automount: make sure the expire event is restarted after a daemon-reload (#4265) X-Git-Tag: v232~157 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c080fbce9ca4ac21d8dbb1c2d0e8c9205edfdbfb;p=thirdparty%2Fsystemd.git automount: make sure the expire event is restarted after a daemon-reload (#4265) If the corresponding mount unit is deserialized after the automount unit then the expire event is set up in automount_trigger_notify(). However, if the mount unit is deserialized first then the automount unit is still in state AUTOMOUNT_DEAD and automount_trigger_notify() aborts without setting up the expire event. Explicitly call automount_start_expire() during coldplug to make sure that the expire event is set up as necessary. Fixes #4249. --- diff --git a/src/core/automount.c b/src/core/automount.c index 00295cf7691..bdc0e069652 100644 --- a/src/core/automount.c +++ b/src/core/automount.c @@ -271,6 +271,11 @@ static int automount_coldplug(Unit *u) { return r; (void) sd_event_source_set_description(a->pipe_event_source, "automount-io"); + if (a->deserialized_state == AUTOMOUNT_RUNNING) { + r = automount_start_expire(a); + if (r < 0) + log_unit_warning_errno(UNIT(a), r, "Failed to start expiration timer, ignoring: %m"); + } } automount_set_state(a, a->deserialized_state);