X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=mount.c;h=325f2d51e56be54cd916707fe7d583190ed96eb9;hp=7394fb90a807d65ea7916438ba136603869cda4d;hb=1adf1049dc9def8d8df405bab7f5ae08e1e9573d;hpb=a7334b0952ab66c17ee787e36e6d2c5ceb387de6 diff --git a/mount.c b/mount.c index 7394fb90a..325f2d51e 100644 --- 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,