[libvirt PATCH 41/80] qemu: Ignore missing memory statistics in query-migrate
Peter Krempa
pkrempa at redhat.com
Wed May 11 15:22:34 UTC 2022
On Tue, May 10, 2022 at 17:21:02 +0200, Jiri Denemark wrote:
> We want to use query-migrate QMP command to check the current migration
> state when reconnecting to active domains, but the reply we get to this
> command may not contain any statistics at all if called on the
> destination host.
>
> Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> ---
> src/qemu/qemu_monitor_json.c | 88 +++++++++++++++++-------------------
> 1 file changed, 42 insertions(+), 46 deletions(-)
>
> diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
> index 3a497dceae..df3fdfe4fb 100644
> --- a/src/qemu/qemu_monitor_json.c
> +++ b/src/qemu/qemu_monitor_json.c
> @@ -3249,56 +3249,52 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValue *reply,
> case QEMU_MONITOR_MIGRATION_STATUS_PRE_SWITCHOVER:
> case QEMU_MONITOR_MIGRATION_STATUS_DEVICE:
> ram = virJSONValueObjectGetObject(ret, "ram");
> - if (!ram) {
> - virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> - _("migration was active, but no RAM info was set"));
> - return -1;
> - }
> + if (ram) {
> + if (virJSONValueObjectGetNumberUlong(ram, "transferred",
> + &stats->ram_transferred) < 0) {
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("migration was active, but RAM 'transferred' "
> + "data was missing"));
> + return -1;
> + }
> + if (virJSONValueObjectGetNumberUlong(ram, "remaining",
> + &stats->ram_remaining) < 0) {
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("migration was active, but RAM 'remaining' "
> + "data was missing"));
> + return -1;
> + }
> + if (virJSONValueObjectGetNumberUlong(ram, "total",
> + &stats->ram_total) < 0) {
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("migration was active, but RAM 'total' "
> + "data was missing"));
> + return -1;
> + }
Please fix error messages to conform with coding style since you are
touching them.
Reviewed-by: Peter Krempa <pkrempa at redhat.com>
More information about the libvir-list
mailing list