[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start |
Date: |
Fri, 15 Jun 2018 15:33:12 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
15.06.2018 15:06, Dr. David Alan Gilbert wrote:
* Vladimir Sementsov-Ogievskiy (address@hidden) wrote:
Invalidate cache before source start in case of failed migration.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
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)
on source I see:
address@hidden:migrate_set_state new state 7
address@hidden:migration_thread_file_err
address@hidden:migration_thread_after_loop
so, we are leaving loop on
if (qemu_file_get_error(s->to_dst_file)) {
migrate_set_state(&s->state, current_active_state,
MIGRATION_STATUS_FAILED);
trace_migration_thread_file_err();
break;
}
and skip migration_completion()
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 / address@hidden / Manchester, UK
--
Best regards,
Vladimir
- [Qemu-devel] [PATCH] migration: invalidate cache before source start, Vladimir Sementsov-Ogievskiy, 2018/06/09
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, Dr. David Alan Gilbert, 2018/06/15
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start,
Vladimir Sementsov-Ogievskiy <=
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, John Snow, 2018/06/22
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, Dr. David Alan Gilbert, 2018/06/25
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, Dr. David Alan Gilbert, 2018/06/25
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, John Snow, 2018/06/25
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, Vladimir Sementsov-Ogievskiy, 2018/06/26
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, Dr. David Alan Gilbert, 2018/06/26
- Re: [Qemu-devel] [PATCH] migration: invalidate cache before source start, Vladimir Sementsov-Ogievskiy, 2018/06/26