]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Generalize qemuMigrationParamsGetDowntimeLimit
authorJiri Denemark <jdenemar@redhat.com>
Fri, 16 Mar 2018 10:56:21 +0000 (11:56 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Tue, 17 Apr 2018 08:46:23 +0000 (10:46 +0200)
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>
src/qemu/qemu_driver.c
src/qemu/qemu_migration_params.c
src/qemu/qemu_migration_params.h

index 8a285f6883404ae2dc958c206585b1ea76c1b195..45457a5ea837092f00a650d397e539b0a2d57d9a 100644 (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"));
index 979610c3a802bb5bd315e5a2a8e7e8a10145b1d4..3e131207a85641db76bf72b41c27bf6d26d39c8a 100644 (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;
 }
 
index eb4016806d01de59df684c67311c62810e7d6cb4..6950eca8ef207df051d926df3a656bee78aedd0d 100644 (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,