X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fswap.c;h=92035144ba8055db464f021a913c0cc330ed8fb5;hp=5b3073bd4ae9b0204e79e076f48771cd97b6c499;hb=455bb5a4bdd03d77af72d810ddc22c85a353d2e4;hpb=514f4ef52f91edb3741cad88d34572d162459346 diff --git a/src/swap.c b/src/swap.c index 5b3073bd4..92035144b 100644 --- a/src/swap.c +++ b/src/swap.c @@ -38,7 +38,7 @@ static const UnitActiveState state_translation_table[_SWAP_STATE_MAX] = { [SWAP_DEAD] = UNIT_INACTIVE, [SWAP_ACTIVE] = UNIT_ACTIVE, - [SWAP_MAINTENANCE] = UNIT_INACTIVE + [SWAP_MAINTENANCE] = UNIT_MAINTENANCE }; static void swap_init(Unit *u) { @@ -77,10 +77,7 @@ int swap_add_one_mount_link(Swap *s, Mount *m) { if (!path_startswith(s->what, m->where)) return 0; - if ((r = unit_add_dependency(UNIT(m), UNIT_BEFORE, UNIT(s), true)) < 0) - return r; - - if ((r = unit_add_dependency(UNIT(s), UNIT_REQUIRES, UNIT(m), true)) < 0) + if ((r = unit_add_two_dependencies(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, UNIT(m), true)) < 0) return r; return 0; @@ -113,10 +110,10 @@ static int swap_add_target_links(Swap *s) { else return 0; - if ((r = manager_load_unit(s->meta.manager, SPECIAL_SWAP_TARGET, NULL, &tu)) < 0) + if ((r = manager_load_unit(s->meta.manager, SPECIAL_SWAP_TARGET, NULL, NULL, &tu)) < 0) return r; - if (!p->noauto && p->handle && s->meta.manager->running_as != MANAGER_SESSION) + if (!p->noauto && p->handle && s->meta.manager->running_as == MANAGER_SYSTEM) if ((r = unit_add_dependency(tu, UNIT_WANTS, UNIT(s), true)) < 0) return r; @@ -127,7 +124,7 @@ static int swap_verify(Swap *s) { bool b; char *e; - if (UNIT(s)->meta.load_state != UNIT_LOADED) + if (s->meta.load_state != UNIT_LOADED) return 0; if (!(e = unit_name_from_path(s->what, ".swap"))) @@ -137,7 +134,7 @@ static int swap_verify(Swap *s) { free(e); if (!b) { - log_error("%s: Value of \"What\" and unit name do not match, not loading.\n", UNIT(s)->meta.id); + log_error("%s: Value of \"What\" and unit name do not match, not loading.\n", s->meta.id); return -EINVAL; } @@ -180,9 +177,7 @@ static int swap_load(Unit *u) { if ((r = unit_set_description(u, s->what)) < 0) return r; - if ((r = unit_add_node_link(u, s->what, - (u->meta.manager->running_as == MANAGER_INIT || - u->meta.manager->running_as == MANAGER_SYSTEM))) < 0) + if ((r = unit_add_node_link(u, s->what, u->meta.manager->running_as == MANAGER_SYSTEM)) < 0) return r; if ((r = swap_add_mount_links(s)) < 0) @@ -322,7 +317,7 @@ static void swap_set_state(Swap *s, SwapState state) { if (state != old_state) log_debug("%s changed %s -> %s", - UNIT(s)->meta.id, + s->meta.id, swap_state_to_string(old_state), swap_state_to_string(state)); @@ -552,6 +547,7 @@ const UnitVTable swap_vtable = { .no_instances = true, .no_isolate = true, + .show_status = true, .init = swap_init, .load = swap_load,