aboutsummaryrefslogtreecommitdiff
path: root/migration
diff options
context:
space:
mode:
authorFabiano Rosas <farosas@suse.de>2025-02-13 14:59:19 -0300
committerFabiano Rosas <farosas@suse.de>2025-02-14 15:19:05 -0300
commita47f0cfba8d33f7001bcc4616f96e42dbd553135 (patch)
treea0e19c2be012aeb1ce67e49c5a8de4c19c168a1a /migration
parente0ad300fe1a0e0b12b90994bab6e4df77dd1ee8a (diff)
downloadqemu-a47f0cfba8d33f7001bcc4616f96e42dbd553135.zip
qemu-a47f0cfba8d33f7001bcc4616f96e42dbd553135.tar.gz
qemu-a47f0cfba8d33f7001bcc4616f96e42dbd553135.tar.bz2
migration: Set migration error outside of migrate_cancel
There's no point passing the error into migration cancel only for it to call migrate_set_error(). Reviewed-by: Peter Xu <peterx@redhat.com> Message-ID: <20250213175927.19642-2-farosas@suse.de> Signed-off-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'migration')
-rw-r--r--migration/migration.c7
-rw-r--r--migration/migration.h2
-rw-r--r--migration/ram.c4
3 files changed, 6 insertions, 7 deletions
diff --git a/migration/migration.c b/migration/migration.c
index 3969285..7728f52 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -342,11 +342,8 @@ void migration_bh_schedule(QEMUBHFunc *cb, void *opaque)
qemu_bh_schedule(bh);
}
-void migration_cancel(const Error *error)
+void migration_cancel()
{
- if (error) {
- migrate_set_error(current_migration, error);
- }
if (migrate_dirty_limit()) {
qmp_cancel_vcpu_dirty_limit(false, -1, NULL);
}
@@ -365,7 +362,7 @@ void migration_shutdown(void)
* Cancel the current migration - that will (eventually)
* stop the migration using this structure
*/
- migration_cancel(NULL);
+ migration_cancel();
object_unref(OBJECT(current_migration));
/*
diff --git a/migration/migration.h b/migration/migration.h
index eb84f75..f083f4f 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -563,7 +563,7 @@ void migration_make_urgent_request(void);
void migration_consume_urgent_request(void);
bool migration_rate_limit(void);
void migration_bh_schedule(QEMUBHFunc *cb, void *opaque);
-void migration_cancel(const Error *error);
+void migration_cancel(void);
void migration_populate_vfio_info(MigrationInfo *info);
void migration_reset_vfio_bytes_transferred(void);
diff --git a/migration/ram.c b/migration/ram.c
index 6f460fd..589b650 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -4465,8 +4465,10 @@ static void ram_mig_ram_block_resized(RAMBlockNotifier *n, void *host,
* Abort and indicate a proper reason.
*/
error_setg(&err, "RAM block '%s' resized during precopy.", rb->idstr);
- migration_cancel(err);
+ migrate_set_error(migrate_get_current(), err);
error_free(err);
+
+ migration_cancel();
}
switch (ps) {