qemu: Avoid deprecated migrate-set-cache-size QMP command
The same functionality can be achieved using migrate-set-parameters QMP command with xbzrle-cache-size parameter. https://bugzilla.redhat.com/show_bug.cgi?id=1845012 Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
0b45addf19
commit
2481fcea95
@ -14032,7 +14032,9 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr dom,
|
|||||||
virQEMUDriverPtr driver = dom->conn->privateData;
|
virQEMUDriverPtr driver = dom->conn->privateData;
|
||||||
virDomainObjPtr vm;
|
virDomainObjPtr vm;
|
||||||
qemuDomainObjPrivatePtr priv;
|
qemuDomainObjPrivatePtr priv;
|
||||||
|
g_autoptr(qemuMigrationParams) migParams = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
int rc;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
@ -14057,13 +14059,27 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr dom,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
qemuDomainObjEnterMonitor(driver, vm);
|
|
||||||
|
|
||||||
VIR_DEBUG("Setting compression cache to %llu B", cacheSize);
|
VIR_DEBUG("Setting compression cache to %llu B", cacheSize);
|
||||||
ret = qemuMonitorSetMigrationCacheSize(priv->mon, cacheSize);
|
if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE)) {
|
||||||
|
if (!(migParams = qemuMigrationParamsNew()))
|
||||||
|
goto endjob;
|
||||||
|
|
||||||
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
if (qemuMigrationParamsSetULL(migParams,
|
||||||
ret = -1;
|
QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE,
|
||||||
|
cacheSize) < 0)
|
||||||
|
goto endjob;
|
||||||
|
|
||||||
|
if (qemuMigrationParamsApply(driver, vm, QEMU_ASYNC_JOB_NONE,
|
||||||
|
migParams) < 0)
|
||||||
|
goto endjob;
|
||||||
|
} else {
|
||||||
|
qemuDomainObjEnterMonitor(driver, vm);
|
||||||
|
rc = qemuMonitorSetMigrationCacheSize(priv->mon, cacheSize);
|
||||||
|
if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0)
|
||||||
|
goto endjob;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
endjob:
|
endjob:
|
||||||
qemuDomainObjEndJob(driver, vm);
|
qemuDomainObjEndJob(driver, vm);
|
||||||
|
@ -869,8 +869,7 @@ qemuMigrationParamsApply(virQEMUDriverPtr driver,
|
|||||||
* qemuMonitorSetMigrationParams to ignore this parameter.
|
* qemuMonitorSetMigrationParams to ignore this parameter.
|
||||||
*/
|
*/
|
||||||
if (migParams->params[xbzrle].set &&
|
if (migParams->params[xbzrle].set &&
|
||||||
(!priv->job.migParams ||
|
!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE)) {
|
||||||
!priv->job.migParams->params[xbzrle].set)) {
|
|
||||||
if (qemuMonitorSetMigrationCacheSize(priv->mon,
|
if (qemuMonitorSetMigrationCacheSize(priv->mon,
|
||||||
migParams->params[xbzrle].value.ull) < 0)
|
migParams->params[xbzrle].value.ull) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user