From 0a6cb05e953d315b7a05103d707cff4d36221211 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Tue, 12 Jan 2021 17:17:44 +0100 Subject: [PATCH] qemu: Fix memstat for (non-)transitional memballoon Depending on the memballoon model, the corresponding QOM node will have a different type and we need to account for this when searching for it in the QOM tree. https://bugzilla.redhat.com/show_bug.cgi?id=1911786 Signed-off-by: Andrea Bolognani Reviewed-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_monitor.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index b5c0364652..09b8617097 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1017,7 +1017,27 @@ qemuMonitorInitBalloonObjectPath(qemuMonitorPtr mon, switch (balloon->info.type) { case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI: - name = "virtio-balloon-pci"; + switch ((virDomainMemballoonModel) balloon->model) { + case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO: + name = "virtio-balloon-pci"; + break; + case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO_TRANSITIONAL: + name = "virtio-balloon-pci-transitional"; + break; + case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO_NON_TRANSITIONAL: + name = "virtio-balloon-pci-non-transitional"; + break; + case VIR_DOMAIN_MEMBALLOON_MODEL_XEN: + case VIR_DOMAIN_MEMBALLOON_MODEL_NONE: + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("invalid model for virtio-balloon-pci")); + return; + case VIR_DOMAIN_MEMBALLOON_MODEL_LAST: + default: + virReportEnumRangeError(virDomainMemballoonModel, + balloon->model); + return; + } break; case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW: name = "virtio-balloon-ccw";