All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/4] migration/multifd: Change multifd_load_cleanup() signature and usage
@ 2023-02-10  6:36 Leonardo Bras
  2023-02-10  6:36 ` [PATCH v1 2/4] migration/multifd: Remove unnecessary assignment on multifd_load_cleanup() Leonardo Bras
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Leonardo Bras @ 2023-02-10  6:36 UTC (permalink / raw)
  To: Juan Quintela, Dr. David Alan Gilbert, Peter Xu; +Cc: Leonardo Bras, qemu-devel

Since it's introduction in commit f986c3d256 ("migration: Create multifd
migration threads"), multifd_load_cleanup() never returned any value
different than 0, neither set up any error on errp.

Even though, on process_incoming_migration_bh() an if clause uses it's
return value to decide on setting autostart = false, which will never
happen.

In order to simplify the codebase, change multifd_load_cleanup() signature
to 'void multifd_load_cleanup(void)', and for every usage remove error
handling or decision made based on return value != 0.

Signed-off-by: Leonardo Bras <leobras@redhat.com>
---
 migration/multifd.h   |  2 +-
 migration/migration.c | 14 ++++----------
 migration/multifd.c   |  6 ++----
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/migration/multifd.h b/migration/multifd.h
index ff3aa2e2e9..9a7e1a8826 100644
--- a/migration/multifd.h
+++ b/migration/multifd.h
@@ -16,7 +16,7 @@
 int multifd_save_setup(Error **errp);
 void multifd_save_cleanup(void);
 int multifd_load_setup(Error **errp);
-int multifd_load_cleanup(Error **errp);
+void multifd_load_cleanup(void);
 bool multifd_recv_all_channels_created(void);
 void multifd_recv_new_channel(QIOChannel *ioc, Error **errp);
 void multifd_recv_sync_main(void);
diff --git a/migration/migration.c b/migration/migration.c
index 7a14aa98d8..ce962ea577 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -543,13 +543,7 @@ static void process_incoming_migration_bh(void *opaque)
      */
     qemu_announce_self(&mis->announce_timer, migrate_announce_params());
 
-    if (multifd_load_cleanup(&local_err) != 0) {
-        error_report_err(local_err);
-        autostart = false;
-    }
-    /* If global state section was not received or we are in running
-       state, we need to obey autostart. Any other state is set with
-       runstate_set. */
+    multifd_load_cleanup();
 
     dirty_bitmap_mig_before_vm_start();
 
@@ -649,9 +643,9 @@ fail:
     migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE,
                       MIGRATION_STATUS_FAILED);
     qemu_fclose(mis->from_src_file);
-    if (multifd_load_cleanup(&local_err) != 0) {
-        error_report_err(local_err);
-    }
+
+    multifd_load_cleanup();
+
     exit(EXIT_FAILURE);
 }
 
diff --git a/migration/multifd.c b/migration/multifd.c
index b7ad7002e0..174726982c 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -1022,12 +1022,12 @@ static void multifd_recv_terminate_threads(Error *err)
     }
 }
 
-int multifd_load_cleanup(Error **errp)
+void multifd_load_cleanup(void)
 {
     int i;
 
     if (!migrate_use_multifd() || !migrate_multi_channels_is_allowed()) {
-        return 0;
+        return;
     }
     multifd_recv_terminate_threads(NULL);
     for (i = 0; i < migrate_multifd_channels(); i++) {
@@ -1067,8 +1067,6 @@ int multifd_load_cleanup(Error **errp)
     multifd_recv_state->params = NULL;
     g_free(multifd_recv_state);
     multifd_recv_state = NULL;
-
-    return 0;
 }
 
 void multifd_recv_sync_main(void)
-- 
2.39.1



^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [PATCH v1 1/4] migration/multifd: Change multifd_load_cleanup() signature and usage
@ 2023-02-10  6:31 Leonardo Bras
  2023-02-10  6:31 ` [PATCH v1 3/4] migration/multifd: Join all multifd threads in order to avoid leaks Leonardo Bras
  0 siblings, 1 reply; 13+ messages in thread
From: Leonardo Bras @ 2023-02-10  6:31 UTC (permalink / raw)
  To: Juan Quintela, Dr. David Alan Gilbert, Peter Xu; +Cc: Leonardo Bras, qemu-devel

Since it's introduction in commit f986c3d256 ("migration: Create multifd
migration threads"), multifd_load_cleanup() never returned any value
different than 0, neither set up any error on errp.

Even though, on process_incoming_migration_bh() an if clause uses it's
return value to decide on setting autostart = false, which will never
happen.

In order to simplify the codebase, change multifd_load_cleanup() signature
to 'void multifd_load_cleanup(void)', and for every usage remove error
handling or decision made based on return value != 0.

Signed-off-by: Leonardo Bras <leobras.c@gmail.com>
---
 migration/multifd.h   |  2 +-
 migration/migration.c | 14 ++++----------
 migration/multifd.c   |  6 ++----
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/migration/multifd.h b/migration/multifd.h
index ff3aa2e2e9..9a7e1a8826 100644
--- a/migration/multifd.h
+++ b/migration/multifd.h
@@ -16,7 +16,7 @@
 int multifd_save_setup(Error **errp);
 void multifd_save_cleanup(void);
 int multifd_load_setup(Error **errp);
-int multifd_load_cleanup(Error **errp);
+void multifd_load_cleanup(void);
 bool multifd_recv_all_channels_created(void);
 void multifd_recv_new_channel(QIOChannel *ioc, Error **errp);
 void multifd_recv_sync_main(void);
diff --git a/migration/migration.c b/migration/migration.c
index 7a14aa98d8..ce962ea577 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -543,13 +543,7 @@ static void process_incoming_migration_bh(void *opaque)
      */
     qemu_announce_self(&mis->announce_timer, migrate_announce_params());
 
-    if (multifd_load_cleanup(&local_err) != 0) {
-        error_report_err(local_err);
-        autostart = false;
-    }
-    /* If global state section was not received or we are in running
-       state, we need to obey autostart. Any other state is set with
-       runstate_set. */
+    multifd_load_cleanup();
 
     dirty_bitmap_mig_before_vm_start();
 
@@ -649,9 +643,9 @@ fail:
     migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE,
                       MIGRATION_STATUS_FAILED);
     qemu_fclose(mis->from_src_file);
-    if (multifd_load_cleanup(&local_err) != 0) {
-        error_report_err(local_err);
-    }
+
+    multifd_load_cleanup();
+
     exit(EXIT_FAILURE);
 }
 
diff --git a/migration/multifd.c b/migration/multifd.c
index b7ad7002e0..174726982c 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -1022,12 +1022,12 @@ static void multifd_recv_terminate_threads(Error *err)
     }
 }
 
-int multifd_load_cleanup(Error **errp)
+void multifd_load_cleanup(void)
 {
     int i;
 
     if (!migrate_use_multifd() || !migrate_multi_channels_is_allowed()) {
-        return 0;
+        return;
     }
     multifd_recv_terminate_threads(NULL);
     for (i = 0; i < migrate_multifd_channels(); i++) {
@@ -1067,8 +1067,6 @@ int multifd_load_cleanup(Error **errp)
     multifd_recv_state->params = NULL;
     g_free(multifd_recv_state);
     multifd_recv_state = NULL;
-
-    return 0;
 }
 
 void multifd_recv_sync_main(void)
-- 
2.39.1



^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-02-10 17:21 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-10  6:36 [PATCH v1 1/4] migration/multifd: Change multifd_load_cleanup() signature and usage Leonardo Bras
2023-02-10  6:36 ` [PATCH v1 2/4] migration/multifd: Remove unnecessary assignment on multifd_load_cleanup() Leonardo Bras
2023-02-10 12:48   ` Juan Quintela
2023-02-10 17:19   ` Peter Xu
2023-02-10  6:36 ` [PATCH v1 3/4] migration/multifd: Join all multifd threads in order to avoid leaks Leonardo Bras
2023-02-10 12:49   ` Juan Quintela
2023-02-10 17:21   ` Peter Xu
2023-02-10  6:36 ` [PATCH v1 4/4] migration/multifd: Move load_cleanup inside incoming_state_destroy Leonardo Bras
2023-02-10  6:40   ` Leonardo Brás
2023-02-10 12:51   ` Juan Quintela
2023-02-10 12:46 ` [PATCH v1 1/4] migration/multifd: Change multifd_load_cleanup() signature and usage Juan Quintela
2023-02-10 17:18 ` Peter Xu
  -- strict thread matches above, loose matches on Subject: below --
2023-02-10  6:31 Leonardo Bras
2023-02-10  6:31 ` [PATCH v1 3/4] migration/multifd: Join all multifd threads in order to avoid leaks Leonardo Bras

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.