52b84b
From 8ee1465520ad49892a0a378626ef93abc03f4d4e Mon Sep 17 00:00:00 2001
be3800
From: Lennart Poettering <lennart@poettering.net>
be3800
Date: Tue, 5 Mar 2019 18:57:53 +0100
be3800
Subject: [PATCH] nspawn: move payload to sub-cgroup first, then sync cgroup
be3800
 trees
be3800
be3800
if we sync the legacy and unified trees before moving to the right
be3800
subcgroup then ultimately the cgroup paths in the hierarchies will be
be3800
out-of-sync... Hence, let's move the payload first, and sync then.
be3800
be3800
Addresses: https://github.com/systemd/systemd/pull/9762#issuecomment-441187979
be3800
(cherry picked from commit 27da7ef0d09e00eae821f3ef26e1a666fe7aa087)
be3800
52b84b
Resolves: #1837094
be3800
---
be3800
 src/nspawn/nspawn.c | 4 ++--
be3800
 1 file changed, 2 insertions(+), 2 deletions(-)
be3800
be3800
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
be3800
index 08255b5724..8cb7591f0e 100644
be3800
--- a/src/nspawn/nspawn.c
be3800
+++ b/src/nspawn/nspawn.c
be3800
@@ -3960,11 +3960,11 @@ static int run(int master,
be3800
         } else if (arg_slice || arg_property)
be3800
                 log_notice("Machine and scope registration turned off, --slice= and --property= settings will have no effect.");
be3800
 
be3800
-        r = sync_cgroup(*pid, arg_unified_cgroup_hierarchy, arg_uid_shift);
be3800
+        r = create_subcgroup(*pid, arg_keep_unit, arg_unified_cgroup_hierarchy);
be3800
         if (r < 0)
be3800
                 return r;
be3800
 
be3800
-        r = create_subcgroup(*pid, arg_keep_unit, arg_unified_cgroup_hierarchy);
be3800
+        r = sync_cgroup(*pid, arg_unified_cgroup_hierarchy, arg_uid_shift);
be3800
         if (r < 0)
be3800
                 return r;
be3800