From: Juan Quintela Date: Wed, 1 Jul 2015 07:32:29 +0000 (+0200) Subject: migration: ensure we start in NONE state X-Git-Tag: v2.4.0-rc0~15^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=656a233440e552230f9d1da016b94a81b86658dc;p=thirdparty%2Fqemu.git migration: ensure we start in NONE state Signed-off-by: Juan Quintela Reviewed-by: Dr. David Alan Gilbert --- diff --git a/migration/migration.c b/migration/migration.c index 1e34aa5f207..5c1233fb016 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -694,7 +694,6 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk, error_setg(errp, QERR_MIGRATION_ACTIVE); return; } - if (runstate_check(RUN_STATE_INMIGRATE)) { error_setg(errp, "Guest is waiting for an incoming migration"); return; @@ -709,6 +708,12 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk, return; } + /* We are starting a new migration, so we want to start in a clean + state. This change is only needed if previous migration + failed/was cancelled. We don't use migrate_set_state() because + we are setting the initial state, not changing it. */ + s->state = MIGRATION_STATUS_NONE; + s = migrate_init(¶ms); if (strstart(uri, "tcp:", &p)) {