]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: fix internal error: NUMA isn't available on this host
authorBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Thu, 24 Nov 2016 12:28:00 +0000 (13:28 +0100)
committerMartin Kletzander <mkletzan@redhat.com>
Fri, 25 Nov 2016 08:48:41 +0000 (09:48 +0100)
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@linux.vnet.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.vnet.ibm.com>
src/qemu/qemu_cgroup.c

index 999f7a314c91abf2f21ed76ddcdc551a2a9d9346..9a9e9a3fb590678649ee58c03f514cb0c5f5aea5 100644 (file)
@@ -978,6 +978,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;