qemu: Pass migration flags to qemuMigrationParamsApply
The flags will later be used to determine which parameters should actually be applied. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
f9dcc01a0f
commit
0eae541257
@ -13078,7 +13078,7 @@ qemuDomainMigrateSetMaxDowntime(virDomainPtr dom,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_NONE,
|
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_NONE,
|
||||||
migParams) < 0)
|
migParams, 0) < 0)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
} else {
|
} else {
|
||||||
qemuDomainObjEnterMonitor(driver, vm);
|
qemuDomainObjEnterMonitor(driver, vm);
|
||||||
@ -13260,7 +13260,7 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr dom,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_NONE,
|
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_NONE,
|
||||||
migParams) < 0)
|
migParams, 0) < 0)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
} else {
|
} else {
|
||||||
qemuDomainObjEnterMonitor(driver, vm);
|
qemuDomainObjEnterMonitor(driver, vm);
|
||||||
@ -13347,7 +13347,7 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_NONE,
|
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_NONE,
|
||||||
migParams) < 0)
|
migParams, 0) < 0)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
} else {
|
} else {
|
||||||
int rc;
|
int rc;
|
||||||
|
@ -3213,7 +3213,7 @@ qemuMigrationDstPrepareActive(virQEMUDriver *driver,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_MIGRATION_IN,
|
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_MIGRATION_IN,
|
||||||
migParams) < 0)
|
migParams, flags) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (mig->nbd &&
|
if (mig->nbd &&
|
||||||
@ -4801,7 +4801,7 @@ qemuMigrationSrcRun(virQEMUDriver *driver,
|
|||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_MIGRATION_OUT,
|
if (qemuMigrationParamsApply(driver, vm, VIR_ASYNC_JOB_MIGRATION_OUT,
|
||||||
migParams) < 0)
|
migParams, flags) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (flags & VIR_MIGRATE_ZEROCOPY) {
|
if (flags & VIR_MIGRATE_ZEROCOPY) {
|
||||||
@ -6895,7 +6895,7 @@ qemuMigrationSrcToFile(virQEMUDriver *driver, virDomainObj *vm,
|
|||||||
QEMU_DOMAIN_MIG_BANDWIDTH_MAX * 1024 * 1024) < 0)
|
QEMU_DOMAIN_MIG_BANDWIDTH_MAX * 1024 * 1024) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (qemuMigrationParamsApply(driver, vm, asyncJob, migParams) < 0)
|
if (qemuMigrationParamsApply(driver, vm, asyncJob, migParams, 0) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
|
priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
|
||||||
@ -6991,7 +6991,7 @@ qemuMigrationSrcToFile(virQEMUDriver *driver, virDomainObj *vm,
|
|||||||
QEMU_MIGRATION_PARAM_MAX_BANDWIDTH,
|
QEMU_MIGRATION_PARAM_MAX_BANDWIDTH,
|
||||||
saveMigBandwidth * 1024 * 1024) == 0)
|
saveMigBandwidth * 1024 * 1024) == 0)
|
||||||
ignore_value(qemuMigrationParamsApply(driver, vm, asyncJob,
|
ignore_value(qemuMigrationParamsApply(driver, vm, asyncJob,
|
||||||
migParams));
|
migParams, 0));
|
||||||
} else {
|
} else {
|
||||||
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
|
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
|
||||||
qemuMonitorSetMigrationSpeed(priv->mon, saveMigBandwidth);
|
qemuMonitorSetMigrationSpeed(priv->mon, saveMigBandwidth);
|
||||||
|
@ -833,8 +833,10 @@ qemuMigrationCapsToJSON(virBitmap *caps,
|
|||||||
* @vm: domain object
|
* @vm: domain object
|
||||||
* @asyncJob: migration job
|
* @asyncJob: migration job
|
||||||
* @migParams: migration parameters to send to QEMU
|
* @migParams: migration parameters to send to QEMU
|
||||||
|
* @apiFlags: migration flags, some of them may affect which parameters are applied
|
||||||
*
|
*
|
||||||
* Send all parameters stored in @migParams to QEMU.
|
* Send parameters stored in @migParams to QEMU. If @apiFlags is non-zero, some
|
||||||
|
* parameters that do not make sense for the enabled flags will be ignored.
|
||||||
*
|
*
|
||||||
* Returns 0 on success, -1 on failure.
|
* Returns 0 on success, -1 on failure.
|
||||||
*/
|
*/
|
||||||
@ -842,7 +844,8 @@ int
|
|||||||
qemuMigrationParamsApply(virQEMUDriver *driver,
|
qemuMigrationParamsApply(virQEMUDriver *driver,
|
||||||
virDomainObj *vm,
|
virDomainObj *vm,
|
||||||
int asyncJob,
|
int asyncJob,
|
||||||
qemuMigrationParams *migParams)
|
qemuMigrationParams *migParams,
|
||||||
|
unsigned long apiFlags G_GNUC_UNUSED)
|
||||||
{
|
{
|
||||||
qemuDomainObjPrivate *priv = vm->privateData;
|
qemuDomainObjPrivate *priv = vm->privateData;
|
||||||
bool xbzrleCacheSize_old = false;
|
bool xbzrleCacheSize_old = false;
|
||||||
@ -1245,7 +1248,9 @@ qemuMigrationParamsReset(virQEMUDriver *driver,
|
|||||||
if (!virDomainObjIsActive(vm) || !origParams)
|
if (!virDomainObjIsActive(vm) || !origParams)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuMigrationParamsApply(driver, vm, asyncJob, origParams) < 0)
|
/* Do not pass apiFlags to qemuMigrationParamsApply here to make sure all
|
||||||
|
* parameters and capabilities are reset. */
|
||||||
|
if (qemuMigrationParamsApply(driver, vm, asyncJob, origParams, 0) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
qemuMigrationParamsResetTLS(driver, vm, asyncJob, origParams, apiFlags);
|
qemuMigrationParamsResetTLS(driver, vm, asyncJob, origParams, apiFlags);
|
||||||
|
@ -98,7 +98,8 @@ int
|
|||||||
qemuMigrationParamsApply(virQEMUDriver *driver,
|
qemuMigrationParamsApply(virQEMUDriver *driver,
|
||||||
virDomainObj *vm,
|
virDomainObj *vm,
|
||||||
int asyncJob,
|
int asyncJob,
|
||||||
qemuMigrationParams *migParams);
|
qemuMigrationParams *migParams,
|
||||||
|
unsigned long apiFlags);
|
||||||
|
|
||||||
int
|
int
|
||||||
qemuMigrationParamsEnableTLS(virQEMUDriver *driver,
|
qemuMigrationParamsEnableTLS(virQEMUDriver *driver,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user