summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/block.c b/block.c
index b0ac524..ae5adf0 100644
--- a/block.c
+++ b/block.c
@@ -1141,23 +1141,11 @@ static int mount_action(char *action, char *device, int type)
if (!action || !device)
return -1;
- if (config_load(NULL))
- return -1;
-
- cache_load(1);
-
- list_for_each_entry(pr, &devices, list)
- if (!strcmp(basename(pr->dev), device))
- path = pr->dev;
-
- if (!path)
- return -1;
-
if (!strcmp(action, "remove")) {
if (type == TYPE_HOTPLUG)
blockd_notify("hotplug", device, NULL, NULL);
- umount_device(path, type, true);
+ umount_device(device, type, true);
return 0;
} else if (strcmp(action, "add")) {
@@ -1166,6 +1154,18 @@ static int mount_action(char *action, char *device, int type)
return -1;
}
+ if (config_load(NULL))
+ return -1;
+
+ cache_load(1);
+
+ list_for_each_entry(pr, &devices, list)
+ if (!strcmp(basename(pr->dev), device))
+ path = pr->dev;
+
+ if (!path)
+ return -1;
+
return mount_device(find_block_info(NULL, NULL, path), type);
}