chiark / gitweb /
mount-setup: introduce mount_point_is_api() call
[elogind.git] / mount.c
diff --git a/mount.c b/mount.c
index 4d05081d11aa82d96f922bd375d4dfd225dd1146..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;
@@ -472,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,