core/swap: load() should fail when neither of corresponding unit file nor /proc/swap entry does not exist

It is not necessary to label as loaded to a swap unit when neither of
corresponding unit file nor entry in /proc/swap does not exist.
This makes swap_load() to fail such a case.

Partially fixes #7370.
This commit is contained in:
Yu Watanabe 2017-11-20 01:00:34 +09:00
parent 4a78b63780
commit 3000f85014

View file

@ -292,7 +292,10 @@ static int swap_load(Unit *u) {
assert(u->load_state == UNIT_STUB);
/* Load a .swap file */
r = unit_load_fragment_and_dropin_optional(u);
if (SWAP(u)->from_proc_swaps)
r = unit_load_fragment_and_dropin_optional(u);
else
r = unit_load_fragment_and_dropin(u);
if (r < 0)
return r;