From: Jiri Denemark Date: Fri, 9 Mar 2018 16:17:01 +0000 (+0100) Subject: qemu: Generalize macro for getting VIR_MIGRATE_* typed params X-Git-Tag: v4.3.0-rc1~271 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b392a1cbff84bb3246e21efd06392aad4829692;p=thirdparty%2Flibvirt.git qemu: Generalize macro for getting VIR_MIGRATE_* typed params So far it's used only for CPU throttling parameters which are all ints, but we'll soon want to use it for more parameters with different types. Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c index 369e560990..e0cbdb1a38 100644 --- a/src/qemu/qemu_migration_params.c +++ b/src/qemu/qemu_migration_params.c @@ -112,6 +112,17 @@ qemuMigrationParamsFree(qemuMigrationParamsPtr migParams) } +#define GET(API, PARAM, VAR) \ + do { \ + int rc; \ + if ((rc = API(params, nparams, VIR_MIGRATE_PARAM_ ## PARAM, \ + &migParams->params.VAR)) < 0) \ + goto error; \ + \ + if (rc == 1) \ + migParams->params.VAR ## _set = true; \ + } while (0) + qemuMigrationParamsPtr qemuMigrationParamsFromFlags(virTypedParameterPtr params, int nparams, @@ -135,27 +146,13 @@ qemuMigrationParamsFromFlags(virTypedParameterPtr params, } } -#define GET(PARAM, VAR) \ - do { \ - int rc; \ - if ((rc = virTypedParamsGetInt(params, nparams, \ - VIR_MIGRATE_PARAM_ ## PARAM, \ - &migParams->params.VAR)) < 0) \ - goto error; \ - \ - if (rc == 1) \ - migParams->params.VAR ## _set = true; \ - } while (0) - if (params) { if (party == QEMU_MIGRATION_SOURCE) { - GET(AUTO_CONVERGE_INITIAL, cpuThrottleInitial); - GET(AUTO_CONVERGE_INCREMENT, cpuThrottleIncrement); + GET(virTypedParamsGetInt, AUTO_CONVERGE_INITIAL, cpuThrottleInitial); + GET(virTypedParamsGetInt, AUTO_CONVERGE_INCREMENT, cpuThrottleIncrement); } } -#undef GET - if ((migParams->params.cpuThrottleInitial_set || migParams->params.cpuThrottleIncrement_set) && !(flags & VIR_MIGRATE_AUTO_CONVERGE)) { @@ -171,6 +168,8 @@ qemuMigrationParamsFromFlags(virTypedParameterPtr params, return NULL; } +#undef GET + /** * qemuMigrationParamsApply