chiark / gitweb /
dbus: add Dump() D-Bus call
[elogind.git] / mount.c
diff --git a/mount.c b/mount.c
index 7394fb90a807d65ea7916438ba136603869cda4d..325f2d51e56be54cd916707fe7d583190ed96eb9 100644 (file)
--- a/mount.c
+++ b/mount.c
@@ -125,7 +125,7 @@ static int mount_add_node_links(Mount *m) {
         if (!path_startswith(m->what, "/dev/"))
                 return 0;
 
-        if (!(e = unit_name_escape_path("node-", m->what+1, ".device")))
+        if (!(e = unit_name_escape_path(m->what+1, ".device")))
                 return -ENOMEM;
 
         r = manager_load_unit(UNIT(m)->meta.manager, e, &device);
@@ -159,7 +159,7 @@ static int mount_add_path_links(Mount *m) {
                 n = (Mount*) other;
 
                 if (n == m)
-                        return 0;
+                        continue;
 
                 if (path_startswith(m->where, n->where)) {
 
@@ -197,9 +197,9 @@ static int mount_add_one(Manager *m, const char *what, const char *where, bool l
                 return 0;
 
         if (streq(where, "/"))
-                e = strdup("rootfs.mount");
+                e = strdup("-.mount");
         else
-                e = unit_name_escape_path("fs-", where+1, ".mount");
+                e = unit_name_escape_path(where+1, ".mount");
 
         if (!e)
                 return -ENOMEM;
@@ -252,6 +252,8 @@ static int mount_add_one(Manager *m, const char *what, const char *where, bool l
         if ((r = mount_add_path_links(MOUNT(u))) < 0)
                 goto fail;
 
+        unit_add_to_dbus_queue(u);
+
         return 0;
 
 fail:
@@ -470,7 +472,7 @@ void mount_fd_event(Manager *m, int events) {
 const UnitVTable mount_vtable = {
         .suffix = ".mount",
 
-        .init = unit_load_fragment_and_dropin,
+        .init = unit_load_fragment_and_dropin_optional,
         .done = mount_done,
         .coldplug = mount_coldplug,