diff options
Diffstat (limited to 'migration/migration.c')
-rw-r--r-- | migration/migration.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/migration/migration.c b/migration/migration.c index b1659b7092..cc00b344a9 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2162,11 +2162,8 @@ void qmp_migrate_recover(const char *uri, Error **errp) return; } - if (qatomic_cmpxchg(&mis->postcopy_recover_triggered, - false, true) == true) { - error_setg(errp, "Migrate recovery is triggered already"); - return; - } + /* If there's an existing transport, release it */ + migration_incoming_transport_cleanup(mis); /* * Note that this call will never start a real migration; it will @@ -2174,12 +2171,6 @@ void qmp_migrate_recover(const char *uri, Error **errp) * to continue using that newly established channel. */ qemu_start_incoming_migration(uri, errp); - - /* Safe to dereference with the assert above */ - if (*errp) { - /* Reset the flag so user could still retry */ - qatomic_set(&mis->postcopy_recover_triggered, false); - } } void qmp_migrate_pause(Error **errp) |