1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-13 17:18:18 +03:00

core: serialize the "controller" field in scope units

We forgot to serialize it previously, hence daemon reload flushed it
out, since we also didn't write it to any unit file...
This commit is contained in:
Lennart Poettering 2017-11-23 12:51:54 +01:00
parent b8afec2107
commit 33fe0afe9a

View File

@ -411,11 +411,16 @@ static int scope_serialize(Unit *u, FILE *f, FDSet *fds) {
unit_serialize_item(u, f, "state", scope_state_to_string(s->state));
unit_serialize_item(u, f, "was-abandoned", yes_no(s->was_abandoned));
if (s->controller)
unit_serialize_item(u, f, "controller", s->controller);
return 0;
}
static int scope_deserialize_item(Unit *u, const char *key, const char *value, FDSet *fds) {
Scope *s = SCOPE(u);
int r;
assert(u);
assert(key);
@ -439,6 +444,12 @@ static int scope_deserialize_item(Unit *u, const char *key, const char *value, F
log_unit_debug(u, "Failed to parse boolean value: %s", value);
else
s->was_abandoned = k;
} else if (streq(key, "controller")) {
r = free_and_strdup(&s->controller, value);
if (r < 0)
log_oom();
} else
log_unit_debug(u, "Unknown serialization key: %s", key);