qemu: Generalize qemuMigrationParamsGetDowntimeLimit

The API is renamed as qemuMigrationParamsGetULL and it can be used with
any migration parameter stored as unsigned long long.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Jiri Denemark 2018-03-16 11:56:21 +01:00
parent 9d7321bde9
commit 3ba68865f3
3 changed files with 21 additions and 8 deletions

View File

@ -13535,6 +13535,7 @@ qemuDomainMigrateGetMaxDowntime(virDomainPtr dom,
virDomainObjPtr vm;
qemuMigrationParamsPtr migParams = NULL;
int ret = -1;
int rc;
virCheckFlags(0, -1);
@ -13557,7 +13558,13 @@ qemuDomainMigrateGetMaxDowntime(virDomainPtr dom,
&migParams) < 0)
goto endjob;
if (qemuMigrationParamsGetDowntimeLimit(migParams, downtime) == 1) {
if ((rc = qemuMigrationParamsGetULL(migParams,
QEMU_MIGRATION_PARAM_DOWNTIME_LIMIT,
downtime)) < 0) {
goto endjob;
}
if (rc == 1) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("Querying migration downtime is not supported by "
"QEMU binary"));

View File

@ -950,17 +950,22 @@ qemuMigrationParamsSetString(qemuMigrationParamsPtr migParams,
/**
* Returns 0 on success,
* Returns -1 on error,
* 0 on success,
* 1 if the parameter is not supported by QEMU.
*/
int
qemuMigrationParamsGetDowntimeLimit(qemuMigrationParamsPtr migParams,
unsigned long long *value)
qemuMigrationParamsGetULL(qemuMigrationParamsPtr migParams,
qemuMigrationParam param,
unsigned long long *value)
{
if (!migParams->params[QEMU_MIGRATION_PARAM_DOWNTIME_LIMIT].set)
if (qemuMigrationParamsCheckType(param, QEMU_MIGRATION_PARAM_TYPE_ULL) < 0)
return -1;
if (!migParams->params[param].set)
return 1;
*value = migParams->params[QEMU_MIGRATION_PARAM_DOWNTIME_LIMIT].value.ull;
*value = migParams->params[param].value.ull;
return 0;
}

View File

@ -116,8 +116,9 @@ qemuMigrationParamsSetString(qemuMigrationParamsPtr migParams,
const char *value);
int
qemuMigrationParamsGetDowntimeLimit(qemuMigrationParamsPtr migParams,
unsigned long long *value);
qemuMigrationParamsGetULL(qemuMigrationParamsPtr migParams,
qemuMigrationParam param,
unsigned long long *value);
int
qemuMigrationParamsCheck(virQEMUDriverPtr driver,