[libvirt PATCH v2 32/81] qemu: Separate cookie parsing for qemuMigrationDstFinishOffline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



To keep all cookie handling (parsing and formatting) in the same
function.

Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx>
Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>
Reviewed-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
---

Notes:
    Version 2:
    - no change

 src/qemu/qemu_migration.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 01e47e46cc..3c69ddbd45 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -5812,11 +5812,19 @@ static virDomainPtr
 qemuMigrationDstFinishOffline(virQEMUDriver *driver,
                               virConnectPtr dconn,
                               virDomainObj *vm,
-                              qemuMigrationCookie *mig,
+                              int cookie_flags,
+                              const char *cookiein,
+                              int cookieinlen,
                               char **cookieout,
                               int *cookieoutlen)
 {
     virDomainPtr dom = NULL;
+    qemuDomainObjPrivate *priv = vm->privateData;
+    g_autoptr(qemuMigrationCookie) mig = NULL;
+
+    if (!(mig = qemuMigrationCookieParse(driver, vm->def, priv->origname, priv,
+                                         cookiein, cookieinlen, cookie_flags)))
+        return NULL;
 
     if (qemuMigrationDstPersist(driver, vm, mig, false) < 0)
         return NULL;
@@ -6019,13 +6027,11 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
      * even though VIR_MIGRATE_PERSIST_DEST was not used. */
     cookie_flags |= QEMU_MIGRATION_COOKIE_PERSISTENT;
 
-    if (!(mig = qemuMigrationCookieParse(driver, vm->def, priv->origname, priv,
-                                         cookiein, cookieinlen, cookie_flags)))
-        goto error;
-
     if (flags & VIR_MIGRATE_OFFLINE) {
         if (retcode == 0) {
-            dom = qemuMigrationDstFinishOffline(driver, dconn, vm, mig,
+            dom = qemuMigrationDstFinishOffline(driver, dconn, vm,
+                                                cookie_flags,
+                                                cookiein, cookieinlen,
                                                 cookieout, cookieoutlen);
         }
 
@@ -6033,6 +6039,10 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
         goto cleanup;
     }
 
+    if (!(mig = qemuMigrationCookieParse(driver, vm->def, priv->origname, priv,
+                                         cookiein, cookieinlen, cookie_flags)))
+        goto error;
+
     if (retcode != 0) {
         /* Check for a possible error on the monitor in case Finish was called
          * earlier than monitor EOF handler got a chance to process the error
-- 
2.35.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux