]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Make migration params usable outside migration
authorJiri Denemark <jdenemar@redhat.com>
Mon, 4 Feb 2019 16:11:42 +0000 (17:11 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 7 Feb 2019 15:25:59 +0000 (16:25 +0100)
So far migration parameters were changed only at the beginning of
migration mostly via an automatic translation from flags and typed
parameters. We need to export a few more functions to support APIs which
may set migration parameters while migration is already running.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_migration_params.c
src/qemu/qemu_migration_params.h

index 47daa35087ae33dd7cdecfc5d93a16c22f04cb99..40dafcb2266d59e2b8e26c4fab7b222b1dd50e75 100644 (file)
@@ -216,7 +216,7 @@ qemuMigrationParamsGetAlwaysOnCaps(qemuMigrationParty party)
 }
 
 
-static qemuMigrationParamsPtr
+qemuMigrationParamsPtr
 qemuMigrationParamsNew(void)
 {
     qemuMigrationParamsPtr params;
@@ -1039,6 +1039,20 @@ qemuMigrationParamsFetch(virQEMUDriverPtr driver,
 }
 
 
+int
+qemuMigrationParamsSetULL(qemuMigrationParamsPtr migParams,
+                          qemuMigrationParam param,
+                          unsigned long long value)
+{
+    if (qemuMigrationParamsCheckType(param, QEMU_MIGRATION_PARAM_TYPE_ULL) < 0)
+        return -1;
+
+    migParams->params[param].value.ull = value;
+    migParams->params[param].set = true;
+    return 0;
+}
+
+
 /**
  * Returns -1 on error,
  *          0 on success,
index 709b818dcfa64503d284e713c74898ad295ab8f6..db0745ec28f75666a2899282b58218a2b8217946 100644 (file)
@@ -84,8 +84,12 @@ qemuMigrationParamsDump(qemuMigrationParamsPtr migParams,
                         int *maxparams,
                         unsigned long *flags);
 
+qemuMigrationParamsPtr
+qemuMigrationParamsNew(void);
+
 void
 qemuMigrationParamsFree(qemuMigrationParamsPtr migParams);
+VIR_DEFINE_AUTOPTR_FUNC(qemuMigrationParams, qemuMigrationParamsFree)
 
 int
 qemuMigrationParamsApply(virQEMUDriverPtr driver,
@@ -112,6 +116,11 @@ qemuMigrationParamsFetch(virQEMUDriverPtr driver,
                          int asyncJob,
                          qemuMigrationParamsPtr *migParams);
 
+int
+qemuMigrationParamsSetULL(qemuMigrationParamsPtr migParams,
+                          qemuMigrationParam param,
+                          unsigned long long value);
+
 int
 qemuMigrationParamsGetULL(qemuMigrationParamsPtr migParams,
                           qemuMigrationParam param,