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

Rafał Miłecki zajec5 at gmail.com
Wed Jan 3 02:31:23 PST 2018


From: Rafał Miłecki <rafal at 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 at milecki.pl>
---
 mount.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

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




More information about the Lede-dev mailing list