On 10/04/2017 10:58 AM, Jiri Denemark wrote:
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 51 ++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 49 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index b20dd6ec32..1ce2aa375f 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3727,6 +3727,10 @@ virQEMUCapsLoadCPUModels(virQEMUCapsPtr qemuCaps,
size_t i;
int n;
int ret = -1;
+ xmlNodePtr node;
+ xmlNodePtr *blockerNodes = NULL;
+ char **blockers = NULL;
+ int nblockers;
if (type == VIR_DOMAIN_VIRT_KVM)
n = virXPathNodeSet("./cpu[@type='kvm']", ctxt, &nodes);
@@ -3769,7 +3773,34 @@ virQEMUCapsLoadCPUModels(virQEMUCapsPtr qemuCaps,
goto cleanup;
}
- if (virDomainCapsCPUModelsAddSteal(cpus, &str, usable, NULL) < 0)
+ node = ctxt->node;
+ ctxt->node = nodes[i];
+ nblockers = virXPathNodeSet("./blocker", ctxt, &blockerNodes);
+ ctxt->node = node;
+
+ if (nblockers < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("failed to parse qemu capabilities cpus"));
s/qemu/QEMU
s/cpus/blockers/
Reviewed-by: John Ferlan <jferlan(a)redhat.com>
John
[...]