]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: serialize the "controller" field in scope units
authorLennart Poettering <lennart@poettering.net>
Thu, 23 Nov 2017 11:51:54 +0000 (12:51 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 23 Nov 2017 20:47:48 +0000 (21:47 +0100)
We forgot to serialize it previously, hence daemon reload flushed it
out, since we also didn't write it to any unit file...

src/core/scope.c

index 444c00be92015cb39e2051dfa94f988e4cabd5d6..05b2ec31d16fdb120620fb5339132bb8a4f92097 100644 (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);