From: Miguel Ángel Arruga Vivas Date: Mon, 4 Nov 2019 14:55:23 +0000 (+0100) Subject: vircgroup: Ensure /machine group is associated with its parent X-Git-Tag: v5.10.0-rc1~161 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a74df786a22488cd91865664df17e7c6466e8a85;p=thirdparty%2Flibvirt.git vircgroup: Ensure /machine group is associated with its parent 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 --- 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; }