On Thu, Mar 16, 2017 at 09:41:42 +0100, Guido Günther wrote:
This unbreaks emulators that don't support this command such as
qemu-system-mips*.
Reference:
http://bugs.debian.org/854125
---
src/qemu/qemu_capabilities.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 70f9ed777..207deedbb 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2793,7 +2793,7 @@ virQEMUCapsProbeQMPCPUDefinitions(virQEMUCapsPtr qemuCaps,
size_t i;
if ((ncpus = qemuMonitorGetCPUDefinitions(mon, &cpus)) < 0)
- return -1;
+ return 0;
if (!(models = virDomainCapsCPUModelsNew(ncpus)))
goto cleanup;
The fix is not correct because we don't want to ignore all errors.
There are two options how to fix this bug:
- you can add a new capability associated with the command and return
from virQEMUCapsProbeQMPCPUDefinitions if this capability is not set,
- or just add qemuMonitorJSONHasError(reply, "CommandNotFound") in
qemuMonitorJSONGetCPUDefinitions to the if statement which already
checks for GenericError.
I think the capability is slightly better.
Jirka