nspawn: move nspawn cgroup hierarchy one level down unconditionally
We need to do this in all cases, including on cgroupsv1 in order to ensure the host systemd and any systemd in the payload won't fight for the cgroup attributes of the top-level cgroup of the payload. This is because systemd for Delegate=yes units will only delegate the right to create children as well as their attributes. However, nspawn expects that the cgroup delegated covers both the right to create children and the attributes of the cgroup itself. Hence, to clear this up, let's unconditionally insert a intermediary cgroup, on cgroupsv1 as well as cgroupsv2, unconditionally. This is also nice as it reduces the differences in the various setups and exposes very close behaviour everywhere.
This commit is contained in:
+3
-5
@@ -3643,11 +3643,9 @@ static int run(int master,
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (arg_keep_unit) {
|
||||
r = create_subcgroup(*pid, arg_unified_cgroup_hierarchy);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
r = create_subcgroup(*pid, arg_keep_unit, arg_unified_cgroup_hierarchy);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = chown_cgroup(*pid, arg_unified_cgroup_hierarchy, arg_uid_shift);
|
||||
if (r < 0)
|
||||
|
||||
Reference in New Issue
Block a user