[LEDE-DEV] [PATCH mountd 2/2] mount: call hotplug-call with ACTION=remove before trying to unmount

Rafał Miłecki zajec5 at gmail.com
Wed Feb 21 04:32:17 PST 2018


From: Rafał Miłecki <rafal at milecki.pl>

This increases a chance of successfully unmounting a drive as calling
hotplug.d scripts may result in stopping applications using it.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 mount.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/mount.c b/mount.c
index 3994149..00fe91d 100644
--- a/mount.c
+++ b/mount.c
@@ -774,11 +774,13 @@ static void mount_enum_drives(void)
 		}
 		if(!check_block(q->dev)||del)
 		{
-			int err;
-
-			err = mount_dev_del(q);
 			if (q->status == STATUS_MOUNTED || q->status == STATUS_EXPIRED) {
 				char dev_link[64];
+				int err;
+
+				system_printf("ACTION=remove DEVICE=%s NAME=%s /sbin/hotplug-call mount", q->dev, q->name);
+
+				err = mount_dev_del(q);
 
 				snprintf(dev_link, sizeof(dev_link), "%s%s", uci_path, q->name);
 				if (err == -EBUSY) {
@@ -792,7 +794,6 @@ static void mount_enum_drives(void)
 					log_printf("unlinking %s\n", dev_link);
 					unlink(dev_link);
 				}
-				system_printf("ACTION=remove DEVICE=%s NAME=%s /sbin/hotplug-call mount", q->dev, q->name);
 			}
 
 			p->prev->next = p->next;
-- 
2.11.0




More information about the Lede-dev mailing list