[libvirt] [PATCH 1/2] qemu: fix internal error: NUMA isn't available on this host

Boris Fiuczynski fiuczy at linux.vnet.ibm.com
Thu Nov 24 12:28:00 UTC 2016


If libvirt is compiled without NUMACTL support starting libvirtd
reports a libvirt internal error "NUMA isn't available on this host"
without checking if NUMA support is compiled into the libvirt binaries.
This patch adds the missing NUMA support check to prevent the internal error.
It also includes a check if the cgroup controller cpuset is available before
using it.

The error was noticed when libvirtd was restarted with running domains and
on libvirtd start the qemuConnectCgroup gets called during qemuProcessReconnect.

Signed-off-by: Boris Fiuczynski <fiuczy at linux.vnet.ibm.com>
Reviewed-by: Bjoern Walk <bwalk at linux.vnet.ibm.com>
---
 src/qemu/qemu_cgroup.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 211d0b5..0baa2b3 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -939,6 +939,10 @@ qemuRestoreCgroupState(virDomainObjPtr vm)
     virBitmapPtr all_nodes;
     virCgroupPtr cgroup_temp = NULL;
 
+    if (!virNumaIsAvailable() ||
+        !virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
+        return;
+
     if (!(all_nodes = virNumaGetHostMemoryNodeset()))
         goto error;
 
-- 
2.5.5




More information about the libvir-list mailing list