diff mbox series

[LEDE-DEV,mountd,3/3] mount: check if block was mounted before cleaning it up

Message ID 20180103103123.10950-3-zajec5@gmail.com
State Accepted
Delegated to: John Crispin
Headers show
Series [LEDE-DEV,mountd,1/3] mount: call hotplug mount scripts only on success | expand

Commit Message

Rafał Miłecki Jan. 3, 2018, 10:31 a.m. UTC
From: Rafał Miłecki <rafal@milecki.pl>

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 <rafal@milecki.pl>
---
 mount.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
diff mbox series

Patch

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");