[libvirt] [PATCH] qemu: fix regression with pinning

Martin Kletzander mkletzan at redhat.com
Mon Aug 27 06:09:57 UTC 2012


Commit 4b03d59167f4a4c6ec57def315a61d977466e75b changed the pinning
behavior in a way that makes some machine non-startable.

The comment mentioning that we cannot control each vcpu when there is
no VCPU<->PID mapping available is true, however, this isn't
necessarily an error, because this can be caused by old QEMU without
support for "query-cpus" command as well as a software emulated
machines that don't create more than one process.
---
 src/qemu/qemu_cgroup.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 2237d11..b45bb49 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -567,9 +567,9 @@ int qemuSetupCgroupForVcpu(struct qemud_driver *driver, virDomainObjPtr vm)
         /* If we don't know VCPU<->PID mapping or all vcpu runs in the same
          * thread, we cannot control each vcpu.
          */
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                        _("Unable to get vcpus' pids."));
-        goto cleanup;
+        VIR_DEBUG("%s", _("Unable to get vcpus' pids."));
+        virCgroupFree(&cgroup);
+        return 0;
     }

     for (i = 0; i < priv->nvcpupids; i++) {
--
1.7.12




More information about the libvir-list mailing list