[libvirt] [PATCH v2 41/73] qemu: Generalize macro for getting VIR_MIGRATE_* typed params
Ján Tomko
jtomko at redhat.com
Fri Apr 13 14:22:00 UTC 2018
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 at 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.
Regardless:
Reviewed-by: Ján Tomko <jtomko at redhat.com>
Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180413/7c9c80c0/attachment-0001.sig>
More information about the libvir-list
mailing list