On Tue, Nov 4, 2025 at 9:34 AM Li Zhijian <[email protected]> wrote: > > Commit 4881411136 ("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. > > Fixes: 4881411136 ("migration: Always set DEVICE state") > Signed-off-by: Li Zhijian <[email protected]>
LGTM~ Thanks Zhijian. Reviewed-by: Zhang Chen <[email protected]> Tested-by: Zhang Chen <[email protected]> > --- > migration/migration.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/migration/migration.c b/migration/migration.c > index a63b46bbef..6ec7f3cec8 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -3095,9 +3095,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); > -- > 2.44.0 >
