[systemd-commits] src/core

Lennart Poettering lennart at kemper.freedesktop.org
Tue May 19 07:42:39 PDT 2015


 src/core/unit.c |   20 ++------------------
 src/core/unit.h |    6 ------
 2 files changed, 2 insertions(+), 24 deletions(-)

New commits:
commit ed10fa8ce2e9cc4b78adb257a1b8fdc636bacea9
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue May 19 16:41:14 2015 +0200

    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...

diff --git a/src/core/unit.c b/src/core/unit.c
index 2da2565..e380276 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -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;
diff --git a/src/core/unit.h b/src/core/unit.h
index 7ef970e..9491ef6 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -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;
 



More information about the systemd-commits mailing list