[RFC PATCH 06/25] migration: Move postcopy_try_recover into migration_incoming_process

Fabiano Rosas posted 25 patches 1 week, 4 days ago
Maintainers: Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Li Zhijian <lizhijian@fujitsu.com>
There is a newer version of this series
[RFC PATCH 06/25] migration: Move postcopy_try_recover into migration_incoming_process
Posted by Fabiano Rosas 1 week, 4 days ago
The postcopy_try_recover() call doesn't need to be duplicated, move it
into migration_incoming_process().

This removes code from migration_fd_process_incoming() so it can be
removed in the near future.

(the diff is a bit strange because migration_incoming_process() was
moved after postcopy_try_recover())

Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
 migration/migration.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 974313944c..f2933f7789 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -947,12 +947,6 @@ static void migration_incoming_setup(QEMUFile *f)
     qemu_file_set_blocking(f, false, &error_abort);
 }
 
-void migration_incoming_process(void)
-{
-    Coroutine *co = qemu_coroutine_create(process_incoming_migration_co, NULL);
-    qemu_coroutine_enter(co);
-}
-
 /* Returns true if recovered from a paused migration, otherwise false */
 static bool postcopy_try_recover(void)
 {
@@ -986,12 +980,19 @@ static bool postcopy_try_recover(void)
     return false;
 }
 
+void migration_incoming_process(void)
+{
+    if (postcopy_try_recover()) {
+        return;
+    }
+
+    Coroutine *co = qemu_coroutine_create(process_incoming_migration_co, NULL);
+    qemu_coroutine_enter(co);
+}
+
 void migration_fd_process_incoming(QEMUFile *f)
 {
     migration_incoming_setup(f);
-    if (postcopy_try_recover()) {
-        return;
-    }
     migration_incoming_process();
 }
 
@@ -1087,10 +1088,6 @@ void migration_ioc_process_incoming(QIOChannel *ioc, Error **errp)
     }
 
     if (migration_has_main_and_multifd_channels()) {
-        /* If it's a recovery, we're done */
-        if (postcopy_try_recover()) {
-            return;
-        }
         migration_incoming_process();
     }
 }
-- 
2.51.0
Re: [RFC PATCH 06/25] migration: Move postcopy_try_recover into migration_incoming_process
Posted by Peter Xu 1 week, 1 day ago
On Fri, Dec 26, 2025 at 06:19:08PM -0300, Fabiano Rosas wrote:
> The postcopy_try_recover() call doesn't need to be duplicated, move it
> into migration_incoming_process().
> 
> This removes code from migration_fd_process_incoming() so it can be
> removed in the near future.
> 
> (the diff is a bit strange because migration_incoming_process() was
> moved after postcopy_try_recover())
> 
> Signed-off-by: Fabiano Rosas <farosas@suse.de>

Reviewed-by: Peter Xu <peterx@redhat.com>

-- 
Peter Xu