[libvirt PATCH] qemu: Fix memstat for (non-)transitional memballoon
Peter Krempa
pkrempa at redhat.com
Tue Jan 12 18:56:11 UTC 2021
On Tue, Jan 12, 2021 at 18:47:36 +0100, Andrea Bolognani wrote:
> 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 <abologna at redhat.com>
> ---
> 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..c97dadd11e 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 (balloon->model) {
This is an 'int'. Please typecast it appropriately ...
> + 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;
... so that this actually makes sense and is kept up to date.
Also, reporting errors in a function which doesn't abort execution on
said error is dubious.
> + }
> break;
> case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
> name = "virtio-balloon-ccw";
> --
> 2.26.2
>
More information about the libvir-list
mailing list