From: Lennart Poettering Date: Thu, 23 Nov 2017 11:51:54 +0000 (+0100) Subject: core: serialize the "controller" field in scope units X-Git-Tag: v236~123^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=33fe0afe9af56af67ab72cf407cb41a8628e0e06;p=thirdparty%2Fsystemd.git 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... --- diff --git a/src/core/scope.c b/src/core/scope.c index 444c00be920..05b2ec31d16 100644 --- a/src/core/scope.c +++ b/src/core/scope.c @@ -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);