On Fri, Apr 13, 2018 at 16:22:00 +0200, Ján Tomko wrote:
On Wed, Apr 11, 2018 at 04:41:31PM +0200, Jiri Denemark wrote:
>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 <jdenemar(a)redhat.com>
>---
> src/qemu/qemu_migration_params.c | 31 +++++++++++++++----------------
> 1 file changed, 15 insertions(+), 16 deletions(-)
>
>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);
If all the getter APIs start with virTypedParamsGet, you can hide the
prefix inside the macro definition to save columns.
The macro will go away completely later in this series anyway.
Jirka