You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.6 KiB
41 lines
1.6 KiB
![]()
5 years ago
|
From e932760979f8658ff62b93b039a98a6d7f0f4656 Mon Sep 17 00:00:00 2001
|
||
|
From: Lennart Poettering <lennart@poettering.net>
|
||
|
Date: Tue, 29 Sep 2015 13:06:28 +0200
|
||
|
Subject: [PATCH] core: add a "Requires=" dependency between units and the
|
||
|
slices they are located in
|
||
|
|
||
|
We place the processes we fork off in the cgroup anyway, and we probably
|
||
|
shouldn't be able to get that far if we couldn't set up the slice due to
|
||
|
resource problems or unmet conditions. Hence upgrade the dependency
|
||
|
between units and the slices they are located in from Wants= to
|
||
|
Requires=.
|
||
|
|
||
|
(cherry picked from commit 8c8da0e0cb498245c765732cf9caa081a70c560f)
|
||
|
(cherry picked from commit 0600681f04e3818282a2d518ec3e6afee85f7978)
|
||
|
|
||
|
Related: #1729228
|
||
|
---
|
||
|
src/core/unit.c | 6 +++---
|
||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/core/unit.c b/src/core/unit.c
|
||
|
index 37fac8db3a..1dff541ac3 100644
|
||
|
--- a/src/core/unit.c
|
||
|
+++ b/src/core/unit.c
|
||
|
@@ -1113,12 +1113,12 @@ static int unit_add_slice_dependencies(Unit *u) {
|
||
|
return 0;
|
||
|
|
||
|
if (UNIT_ISSET(u->slice))
|
||
|
- return unit_add_two_dependencies(u, UNIT_AFTER, UNIT_WANTS, UNIT_DEREF(u->slice), true);
|
||
|
+ return unit_add_two_dependencies(u, UNIT_AFTER, UNIT_REQUIRES, UNIT_DEREF(u->slice), true);
|
||
|
|
||
|
- if (streq(u->id, SPECIAL_ROOT_SLICE))
|
||
|
+ if (unit_has_name(u, SPECIAL_ROOT_SLICE))
|
||
|
return 0;
|
||
|
|
||
|
- return unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_WANTS, SPECIAL_ROOT_SLICE, NULL, true);
|
||
|
+ return unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, SPECIAL_ROOT_SLICE, NULL, true);
|
||
|
}
|
||
|
|
||
|
static int unit_add_mount_dependencies(Unit *u) {
|