diff options
Diffstat (limited to 'gnu/packages/patches/libvirt-create-machine-cgroup.patch')
-rw-r--r-- | gnu/packages/patches/libvirt-create-machine-cgroup.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/patches/libvirt-create-machine-cgroup.patch b/gnu/packages/patches/libvirt-create-machine-cgroup.patch new file mode 100644 index 0000000000..585ac237e1 --- /dev/null +++ b/gnu/packages/patches/libvirt-create-machine-cgroup.patch @@ -0,0 +1,48 @@ +From 9ca0b2955edea162b255b428e493cd8ffac52167 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= + <rosen644835@gmail.com> +Date: Fri, 1 Nov 2019 17:29:00 +0100 +Subject: [PATCH] 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 +--- + 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 b46f20abfd..33c61f2d45 100644 +--- a/src/util/vircgroup.c ++++ b/src/util/vircgroup.c +@@ -855,9 +855,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); +@@ -868,7 +865,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.23.0 + |