migration: Fix transition to COLO state from precopy
Commit4881411136("migration: Always set DEVICE state") set a new DEVICE state before completed during migration, which broke the original transition to COLO. The migration flow for precopy has changed to: active -> pre-switchover -> device -> completed. This patch updates the transition state to ensure that the Pre-COLO state corresponds to DEVICE state correctly. Cc: qemu-stable <qemu-stable@nongnu.org> Fixes:4881411136("migration: Always set DEVICE state") Signed-off-by: Li Zhijian <lizhijian@fujitsu.com> Reviewed-by: Zhang Chen <zhangckid@gmail.com> Tested-by: Zhang Chen <zhangckid@gmail.com> Link: https://lore.kernel.org/r/20251104013606.1937764-1-lizhijian@fujitsu.com Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
5a5b06d2f6
commit
0b5bf4ea76
1 changed files with 2 additions and 2 deletions
|
|
@ -3081,9 +3081,9 @@ static void migration_completion(MigrationState *s)
|
|||
goto fail;
|
||||
}
|
||||
|
||||
if (migrate_colo() && s->state == MIGRATION_STATUS_ACTIVE) {
|
||||
if (migrate_colo() && s->state == MIGRATION_STATUS_DEVICE) {
|
||||
/* COLO does not support postcopy */
|
||||
migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE,
|
||||
migrate_set_state(&s->state, MIGRATION_STATUS_DEVICE,
|
||||
MIGRATION_STATUS_COLO);
|
||||
} else {
|
||||
migration_completion_end(s);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue