[libvirt] [PATCH] qemu: don't error out when cgroups don't exist

Martin Kletzander mkletzan at redhat.com
Wed Jul 9 08:15:33 UTC 2014


When creating cgroups for vcpu and emulator threads whilst starting a
domain, we explicitly skip creating those cgroups in case priv->cgroup
is NULL (cgroups not supported) because SetAffinity() serves the same
purpose.  If the host supports only some cgroups (the ones we need are
either unmounted or disabled in qemu.conf), we error out with weird
message even though we could continue starting the domain.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1097028

Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
---
 src/qemu/qemu_cgroup.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 3394c68..0af6ac5 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -949,7 +949,11 @@ qemuSetupCgroupForVcpu(virDomainObjPtr vm)
         virCgroupFree(&cgroup_vcpu);
     }

-    return -1;
+    if (period || quota)
+        return -1;
+
+    virResetLastError();
+    return 0;
 }

 int
@@ -1016,7 +1020,11 @@ qemuSetupCgroupForEmulator(virQEMUDriverPtr driver,
         virCgroupFree(&cgroup_emulator);
     }

-    return -1;
+    if (period || quota)
+        return -1;
+
+    virResetLastError();
+    return 0;
 }

 int
-- 
2.0.0




More information about the libvir-list mailing list