[libvirt] [PATCH 40/68] qemu: Generalize macro for getting VIR_MIGRATE_* typed params

Jiri Denemark jdenemar at redhat.com
Wed Apr 4 14:41:29 UTC 2018


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 9d2ac6bee5..2caf4dd1c9 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,
@@ -132,27 +143,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)) {
@@ -168,6 +165,8 @@ qemuMigrationParamsFromFlags(virTypedParameterPtr params,
     return NULL;
 }
 
+#undef GET
+
 
 /**
  * qemuMigrationParamsApply
-- 
2.17.0




More information about the libvir-list mailing list