After cleanups, the qmp_migrate_finish function is now just a call to
migration_connect_outgoing(). Remove qmp_migrate_finish() and rename
the qmp_migrate_finish_cb callback.

This also allows the function's error handling to be removed as it now
receives &local_err like the rest of the callees of qmp_migrate().

Reviewed-by: Peter Xu <[email protected]>
Signed-off-by: Fabiano Rosas <[email protected]>
---
 migration/migration.c | 35 +++++++++++++----------------------
 1 file changed, 13 insertions(+), 22 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 6be2849326..086bbb03de 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2001,15 +2001,18 @@ static bool migrate_prepare(MigrationState *s, bool 
resume, Error **errp)
     return true;
 }
 
-static void qmp_migrate_finish(MigrationAddress *addr, Error **errp);
-
-static gboolean qmp_migrate_finish_cb(QIOChannel *channel,
-                                      GIOCondition cond,
-                                      void *opaque)
+static gboolean migration_connect_outgoing_cb(QIOChannel *channel,
+                                              GIOCondition cond, void *opaque)
 {
-    MigrationAddress *addr = opaque;
+    MigrationState *s = migrate_get_current();
+    Error *local_err = NULL;
+
+    migration_connect_outgoing(s, opaque, &local_err);
+
+    if (local_err) {
+        migration_connect_error_propagate(s, local_err);
+    }
 
-    qmp_migrate_finish(addr, NULL);
     return G_SOURCE_REMOVE;
 }
 
@@ -2063,10 +2066,11 @@ void qmp_migrate(const char *uri, bool has_channels,
      * connection, so qmp_migrate_finish will fail to connect, and then 
recover.
      */
     if (migrate_mode() == MIG_MODE_CPR_TRANSFER) {
-        cpr_transfer_add_hup_watch(s, qmp_migrate_finish_cb, main_ch->addr);
+        cpr_transfer_add_hup_watch(s, migration_connect_outgoing_cb,
+                                   main_ch->addr);
 
     } else {
-        qmp_migrate_finish(main_ch->addr, errp);
+        migration_connect_outgoing(s, main_ch->addr, &local_err);
     }
 
 out:
@@ -2076,19 +2080,6 @@ out:
     }
 }
 
-static void qmp_migrate_finish(MigrationAddress *addr, Error **errp)
-{
-    MigrationState *s = migrate_get_current();
-    Error *local_err = NULL;
-
-    migration_connect_outgoing(s, addr, &local_err);
-
-    if (local_err) {
-        migration_connect_error_propagate(s, error_copy(local_err));
-        error_propagate(errp, local_err);
-    }
-}
-
 void qmp_migrate_cancel(Error **errp)
 {
     /*
-- 
2.51.0


Reply via email to