From: Rafał Miłecki Date: Wed, 3 Jan 2018 10:31:23 +0000 (+0100) Subject: mount: check if block was mounted before cleaning it up X-Git-Url: https://git.librecmc.org/?p=oweals%2Fmountd.git;a=commitdiff_plain;h=c54e5c6e09bf8e8debea05dd0dac095624a2472b mount: check if block was mounted before cleaning it up Calling an extra rmdir and unlink isn't a big issue but triggering hotplug.d scripts for devices that weren't mounted could be misleading for listeners. Signed-off-by: Rafał Miłecki --- diff --git a/mount.c b/mount.c index a88ca6d..db77f10 100644 --- a/mount.c +++ b/mount.c @@ -749,11 +749,13 @@ static void mount_enum_drives(void) p->next->prev = p->prev; p = p->next; log_printf("removing %s\n", q->dev); - snprintf(tmp, 64, "%s%s", "/tmp/run/mountd/", q->dev); - rmdir(tmp); - snprintf(tmp, 64, "%s%s", uci_path, q->name); - unlink(tmp); - system_printf("ACTION=remove DEVICE=%s NAME=%s /sbin/hotplug-call mount", q->dev, q->name); + if (q->mounted) { + snprintf(tmp, 64, "%s%s", "/tmp/run/mountd/", q->dev); + rmdir(tmp); + snprintf(tmp, 64, "%s%s", uci_path, q->name); + unlink(tmp); + system_printf("ACTION=remove DEVICE=%s NAME=%s /sbin/hotplug-call mount", q->dev, q->name); + } free(q); mount_dump_uci_state(); system_printf("/etc/fonstated/ReloadSamba");