[PATCH 02/12] qemuMonitorSetMigrationCapabilities: Take double pointer for @caps
Michal Privoznik
mprivozn at redhat.com
Thu Jan 7 11:22:50 UTC 2021
On 1/6/21 3:03 PM, Peter Krempa wrote:
> This allows simplification of the callers.
>
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
> src/qemu/qemu_migration_params.c | 13 ++++---------
> src/qemu/qemu_monitor.c | 11 +++--------
> src/qemu/qemu_monitor.h | 2 +-
> src/qemu/qemu_monitor_json.c | 5 ++---
> src/qemu/qemu_monitor_json.h | 2 +-
> tests/qemumonitorjsontest.c | 3 +--
> 6 files changed, 12 insertions(+), 24 deletions(-)
>
> diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c
> index d1d59aeb01..8c019bf2ce 100644
> --- a/src/qemu/qemu_migration_params.c
> +++ b/src/qemu/qemu_migration_params.c
> @@ -803,7 +803,6 @@ qemuMigrationParamsApply(virQEMUDriverPtr driver,
> g_autoptr(virJSONValue) caps = NULL;
> qemuMigrationParam xbzrle = QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE;
> int ret = -1;
> - int rc;
>
> if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
> return -1;
> @@ -819,12 +818,9 @@ qemuMigrationParamsApply(virQEMUDriverPtr driver,
> if (!(caps = qemuMigrationCapsToJSON(priv->migrationCaps, migParams->caps)))
> goto cleanup;
>
> - if (virJSONValueArraySize(caps) > 0) {
> - rc = qemuMonitorSetMigrationCapabilities(priv->mon, caps);
> - caps = NULL;
> - if (rc < 0)
> - goto cleanup;
> - }
> + if (virJSONValueArraySize(caps) > 0 &&
> + qemuMonitorSetMigrationCapabilities(priv->mon, &caps) < 0)
> + goto cleanup;
> }
>
> /* If QEMU is too old to support xbzrle-cache-size migration parameter,
> @@ -1389,8 +1385,7 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver,
> if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
> return -1;
>
> - rc = qemuMonitorSetMigrationCapabilities(priv->mon, json);
> - json = NULL;
> + rc = qemuMonitorSetMigrationCapabilities(priv->mon, &json);
>
> if (qemuDomainObjExitMonitor(driver, vm) < 0)
> return -1;
> diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
> index a81cd5fff5..8b1f90b363 100644
> --- a/src/qemu/qemu_monitor.c
> +++ b/src/qemu/qemu_monitor.c
> @@ -3877,22 +3877,17 @@ qemuMonitorGetMigrationCapabilities(qemuMonitorPtr mon,
> * @mon: Pointer to the monitor object.
> * @caps: Migration capabilities.
> *
> - * The @caps object is consumed and should not be referenced by the caller
> - * after this function returns.
> + * The @caps object is consumed cleared.
Same here.
> *
> * Returns 0 on success, -1 on error.
> */
> int
> qemuMonitorSetMigrationCapabilities(qemuMonitorPtr mon,
> - virJSONValuePtr caps)
> + virJSONValuePtr *caps)
> {
> - QEMU_CHECK_MONITOR_GOTO(mon, error);
> + QEMU_CHECK_MONITOR(mon);
>
> return qemuMonitorJSONSetMigrationCapabilities(mon, caps);
> -
> - error:
> - virJSONValueFree(caps);
> - return -1;
> }
>
Michal
More information about the libvir-list
mailing list