From b862c25716520d9381d5a841dba0f0c14e9c970a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 30 Mar 2020 10:49:29 +0200 Subject: [PATCH] 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. --- src/core/device.c | 1 - src/core/unit.c | 11 ++++------- src/core/unit.h | 3 --- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/core/device.c b/src/core/device.c index 06bbbf8d2c..45149e7555 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 2816bcef55..115938e6ce 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 2e103f7ab2..93d6f7092b 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;