* Vladimir Sementsov-Ogievskiy (vsement...@virtuozzo.com) wrote: > Invalidate cache before source start in case of failed migration. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
Why doesn't the code at the bottom of migration_completion, fail_invalidate: and the code in migrate_fd_cancel handle this? What case did you see it in that those didn't handle? (Also I guess it probably should set s->block_inactive = false) Dave > --- > > migration/migration.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/migration/migration.c b/migration/migration.c > index 1e99ec9b7e..8f39e0dc02 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -2806,7 +2806,14 @@ static void migration_iteration_finish(MigrationState > *s) > case MIGRATION_STATUS_FAILED: > case MIGRATION_STATUS_CANCELLED: > if (s->vm_was_running) { > - vm_start(); > + Error *local_err = NULL; > + bdrv_invalidate_cache_all(&local_err); > + if (local_err) { > + error_reportf_err(local_err, "Can't invalidate disks before " > + "source vm start"); > + } else { > + vm_start(); > + } > } else { > if (runstate_check(RUN_STATE_FINISH_MIGRATE)) { > runstate_set(RUN_STATE_POSTMIGRATE); > -- > 2.11.1 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK