unit: drop support for pre-v44 job serialization

No distro ships that old systemd versions anyway, hence let's drop
support for live-upgrades for them. Offline updates are still supported.
And live-upgrades will only lose the job queue, hence basically still
work...
This commit is contained in:
Lennart Poettering 2015-05-19 16:41:14 +02:00
parent 67bfdc9771
commit ed10fa8ce2
2 changed files with 2 additions and 24 deletions

View File

@ -85,7 +85,6 @@ Unit *unit_new(Manager *m, size_t size) {
u->manager = m;
u->type = _UNIT_TYPE_INVALID;
u->deserialized_job = _JOB_TYPE_INVALID;
u->default_dependencies = true;
u->unit_file_state = _UNIT_FILE_STATE_INVALID;
u->unit_file_preset = -1;
@ -2741,16 +2740,8 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
job_free(j);
return r;
}
} else {
/* legacy */
JobType type;
type = job_type_from_string(v);
if (type < 0)
log_unit_debug(u, "Failed to parse job type value: %s", v);
else
u->deserialized_job = type;
}
} else /* legacy for pre-44 */
log_unit_warning(u, "Update from too old systemd versions are unsupported, cannot deserialize job: %s", v);
continue;
} else if (streq(l, "inactive-exit-timestamp")) {
dual_timestamp_deserialize(v, &u->inactive_exit_timestamp);
@ -2899,13 +2890,6 @@ int unit_coldplug(Unit *u) {
r = job_coldplug(u->job);
if (r < 0)
return r;
} else if (u->deserialized_job >= 0) {
/* legacy */
r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL);
if (r < 0)
return r;
u->deserialized_job = _JOB_TYPE_INVALID;
}
return 0;

View File

@ -166,12 +166,6 @@ struct Unit {
/* Used during GC sweeps */
unsigned gc_marker;
/* When deserializing, temporarily store the job type for this
* unit here, if there was a job scheduled.
* Only for deserializing from a legacy version. New style uses full
* serialized jobs. */
int deserialized_job; /* This is actually of type JobType */
/* Error code when we didn't manage to load the unit (negative) */
int load_error;