From a74df786a22488cd91865664df17e7c6466e8a85 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= Date: Mon, 4 Nov 2019 15:55:23 +0100 Subject: [PATCH] vircgroup: Ensure /machine group is associated with its parent MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Call first virCgroupNew on the parent group virCgroupNewPartition if it is available on before the creation of the child group. This ensures that the creation of a first level group on the unified architecture, as the check at virCgroupV2ParseControllersFile as the parent file is there. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1760233 Signed-off-by: Miguel Ángel Arruga Vivas Reviewed-by: Michal Privoznik --- src/util/vircgroup.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index 77ffc97003..a70ffdf748 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -847,9 +847,6 @@ virCgroupNewPartition(const char *path, if (virCgroupSetPartitionSuffix(path, &newPath) < 0) goto cleanup; - if (virCgroupNew(-1, newPath, NULL, controllers, group) < 0) - goto cleanup; - if (STRNEQ(newPath, "/")) { char *tmp; parentPath = g_strdup(newPath); @@ -860,7 +857,12 @@ virCgroupNewPartition(const char *path, if (virCgroupNew(-1, parentPath, NULL, controllers, &parent) < 0) goto cleanup; + } + if (virCgroupNew(-1, newPath, parent, controllers, group) < 0) + goto cleanup; + + if (parent) { if (virCgroupMakeGroup(parent, *group, create, VIR_CGROUP_NONE) < 0) goto cleanup; } -- 2.47.2