From 726072f0d23f842a60399fcccbd76240d8f22da4 Mon Sep 17 00:00:00 2001 From: Luyao Huang Date: Wed, 25 Mar 2015 14:34:04 +0800 Subject: [PATCH] qemu: Report better error when memory device source has wrong NUMA node When starting a VM with hotpluggable memory devices the user may specify an invalid source NUMA node. Libvirt would pass through the error from qemu: # virsh start test3 error: Failed to start domain test3 error: internal error: process exited while connecting to monitor: 2015-03-25T01:12:17.205913Z qemu-kvm: -object memory-backend-ram,id=memdimm0 ,size=536870912,host-nodes=1-3,policy=bind: cannot bind memory to host NUMA nodes: Invalid argument This patch adds a check that allows to report better error: # virsh start test3 error: Failed to start domain test3 error: configuration unsupported: NUMA node 1 is unavailable Signed-off-by: Luyao Huang --- src/qemu/qemu_command.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 99a19d6246..04c8df7232 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4757,6 +4757,8 @@ qemuBuildMemoryBackendStr(unsigned long long size, } if (nodemask) { + if (!virNumaNodesetIsAvailable(nodemask)) + goto cleanup; if (virJSONValueObjectAdd(props, "m:host-nodes", nodemask, "S:policy", qemuNumaPolicyTypeToString(mode), -- 2.39.5