"Dr. David Alan Gilbert" <dgilb...@redhat.com> wrote: > * Juan Quintela (quint...@redhat.com) wrote: >> There were three places that were not using the migrate_set_state() >> helper, just fix that. >> >> Signed-off-by: Juan Quintela <quint...@redhat.com> >> --- >> migration/migration.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/migration/migration.c b/migration/migration.c >> index 1791185..1c84249 100644 >> --- a/migration/migration.c >> +++ b/migration/migration.c >> @@ -545,7 +545,7 @@ void migrate_fd_error(MigrationState *s) >> { >> trace_migrate_fd_error(); >> assert(s->file == NULL); >> - s->state = MIGRATION_STATUS_FAILED; >> + migrate_set_state(s, MIGRATION_STATUS_SETUP, MIGRATION_STATUS_FAILED); >> trace_migrate_set_state(MIGRATION_STATUS_FAILED); >> notifier_list_notify(&migration_state_notifiers, s); >> } >> @@ -630,7 +630,7 @@ static MigrationState *migrate_init(const >> MigrationParams *params) >> s->parameters[MIGRATION_PARAMETER_DECOMPRESS_THREADS] = >> decompress_thread_count; >> s->bandwidth_limit = bandwidth_limit; >> - s->state = MIGRATION_STATUS_SETUP; >> + migrate_set_state(s, MIGRATION_STATUS_NONE, MIGRATION_STATUS_SETUP); >> trace_migrate_set_state(MIGRATION_STATUS_SETUP); > > Does that work if you do a migrate, cancel it and then migrate again? > I think the status would be MIGRATION_STATUS_CANCELLED at that point.
Force state to be NONE in a different patch, see new series. > > Dave > >> >> s->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); >> @@ -723,7 +723,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk, >> #endif >> } else { >> error_set(errp, QERR_INVALID_PARAMETER_VALUE, "uri", "a valid >> migration protocol"); >> - s->state = MIGRATION_STATUS_FAILED; >> + migrate_set_state(s, MIGRATION_STATUS_SETUP, >> MIGRATION_STATUS_FAILED); >> return; >> } >> >> -- >> 2.4.3 >> >> > -- > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK