core/manager-serialize: serialize objective string
Follow-up for 8c15bf36e1
I just realized that we should not serialize the number
of internal enum, as that's subject to changes and such
changes would be hard to notice. Let's serialize strings
properly instead.
This commit is contained in:
@@ -109,6 +109,7 @@ int manager_serialize(
|
||||
(void) serialize_usec(f, "pretimeout-watchdog-overridden", m->watchdog_overridden[WATCHDOG_PRETIMEOUT]);
|
||||
(void) serialize_item(f, "pretimeout-watchdog-governor-overridden", m->watchdog_pretimeout_governor_overridden);
|
||||
|
||||
(void) serialize_item(f, "previous-objective", manager_objective_to_string(m->objective));
|
||||
(void) serialize_item_format(f, "soft-reboots-count", "%u", m->soft_reboots_count);
|
||||
|
||||
for (ManagerTimestamp q = 0; q < _MANAGER_TIMESTAMP_MAX; q++) {
|
||||
@@ -158,9 +159,6 @@ int manager_serialize(
|
||||
(void) serialize_ratelimit(f, "dump-ratelimit", &m->dump_ratelimit);
|
||||
(void) serialize_ratelimit(f, "reload-reexec-ratelimit", &m->reload_reexec_ratelimit);
|
||||
|
||||
if (m->objective >= 0 && m->objective < _MANAGER_OBJECTIVE_MAX)
|
||||
(void) serialize_item_format(f, "previous-objective", "%u", (unsigned) m->objective);
|
||||
|
||||
bus_track_serialize(m->subscribed, f, "subscribed");
|
||||
|
||||
r = dynamic_user_serialize(m, f, fds);
|
||||
@@ -533,12 +531,13 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
|
||||
else
|
||||
m->soft_reboots_count = n;
|
||||
} else if ((val = startswith(l, "previous-objective="))) {
|
||||
unsigned n;
|
||||
ManagerObjective objective;
|
||||
|
||||
if (safe_atou(val, &n) < 0 || n >= _MANAGER_OBJECTIVE_MAX)
|
||||
log_notice("Failed to parse objective '%s', ignoring.", val);
|
||||
objective = manager_objective_from_string(val);
|
||||
if (objective < 0)
|
||||
log_notice("Failed to parse previous objective '%s', ignoring.", val);
|
||||
else
|
||||
m->previous_objective = n;
|
||||
m->previous_objective = objective;
|
||||
|
||||
} else {
|
||||
ManagerTimestamp q;
|
||||
|
||||
Reference in New Issue
Block a user