From: Franck Bui Date: Mon, 30 Mar 2020 08:49:29 +0000 (+0200) Subject: device: drop refuse_after X-Git-Tag: v246-rc1~361^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b862c25716520d9381d5a841dba0f0c14e9c970a;p=thirdparty%2Fsystemd.git device: drop refuse_after Scheduling devices after a given unit can be useful to start device *jobs* at a specific time in the transaction, see commit 4195077ab4c823c. This (hidden) change was introduced by commit eef85c4a3f8054d2. --- diff --git a/src/core/device.c b/src/core/device.c index 06bbbf8d2c3..45149e75554 100644 --- a/src/core/device.c +++ b/src/core/device.c @@ -1064,7 +1064,6 @@ const UnitVTable device_vtable = { "Device\0" "Install\0", - .refuse_after = true, .gc_jobs = true, .init = device_init, diff --git a/src/core/unit.c b/src/core/unit.c index 2816bcef550..115938e6cef 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -2957,13 +2957,10 @@ int unit_add_dependency( return 0; } - if (d == UNIT_AFTER && UNIT_VTABLE(u)->refuse_after) { - log_unit_warning(u, "Requested dependency After=%s ignored (%s units cannot be delayed).", other->id, unit_type_to_string(u->type)); - return 0; - } - - if (d == UNIT_BEFORE && UNIT_VTABLE(other)->refuse_after) { - log_unit_warning(u, "Requested dependency Before=%s ignored (%s units cannot be delayed).", other->id, unit_type_to_string(other->type)); + /* Note that ordering a device unit after a unit is permitted since it + * allows to start its job running timeout at a specific time. */ + if (d == UNIT_BEFORE && other->type == UNIT_DEVICE) { + log_unit_warning(u, "Dependency Before=%s ignored (.device units cannot be delayed)", other->id); return 0; } diff --git a/src/core/unit.h b/src/core/unit.h index 2e103f7ab29..93d6f7092b2 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -610,9 +610,6 @@ typedef struct UnitVTable { /* True if the unit type knows a failure state, and thus can be source of an OnFailure= dependency */ bool can_fail:1; - /* True if After= dependencies should be refused */ - bool refuse_after:1; - /* True if units of this type shall be startable only once and then never again */ bool once_only:1;