X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmount.c;h=dfe4f875e15ecafec55294325c74fa261dd3a0d2;hp=3b1608060ec084b044c165c3215d3322338301b3;hb=8efe3c0114758f229273f17944fd6f2952b10c52;hpb=8cbef76075910864ed31879c9fb193c127adc20d diff --git a/src/mount.c b/src/mount.c index 3b1608060..dfe4f875e 100644 --- a/src/mount.c +++ b/src/mount.c @@ -167,6 +167,19 @@ static int mount_add_swap_links(Mount *m) { return 0; } +static int mount_add_path_links(Mount *m) { + Meta *other; + int r; + + assert(m); + + LIST_FOREACH(units_per_type, other, m->meta.manager->units_per_type[UNIT_PATH]) + if ((r = path_add_one_mount_link((Path*) other, m)) < 0) + return r; + + return 0; +} + static int mount_add_automount_links(Mount *m) { Meta *other; int r; @@ -341,6 +354,9 @@ static int mount_load(Unit *u) { if ((r = mount_add_swap_links(m)) < 0) return r; + if ((r = mount_add_path_links(m)) < 0) + return r; + if ((r = mount_add_automount_links(m)) < 0) return r; @@ -936,7 +952,7 @@ static void mount_sigchld_event(Unit *u, pid_t pid, int code, int status) { case MOUNT_REMOUNTING_SIGKILL: case MOUNT_REMOUNTING_SIGTERM: - if (success && m->from_proc_self_mountinfo) + if (success) mount_enter_mounted(m, true); else if (m->from_proc_self_mountinfo) mount_enter_mounted(m, false);