aboutsummaryrefslogtreecommitdiff
path: root/migration
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2017-04-13 18:38:28 +0200
committerKevin Wolf <kwolf@redhat.com>2017-04-27 15:39:49 +0200
commit0042fd3663662c848aaff5c65b6880e545d94b18 (patch)
tree5029552deb8a2e7fb069b4698f7d05458afb9a91 /migration
parent9fd77f997208c0c98cbd8ec522e34fd2103f5d30 (diff)
downloadqemu-0042fd3663662c848aaff5c65b6880e545d94b18.zip
qemu-0042fd3663662c848aaff5c65b6880e545d94b18.tar.gz
qemu-0042fd3663662c848aaff5c65b6880e545d94b18.tar.bz2
migration: Call blk_resume_after_migration() for postcopy
Commit d35ff5e6 ('block: Ignore guest dev permissions during incoming migration') added blk_resume_after_migration() to the precopy migration path, but neglected to add it to the duplicated code that is used for postcopy migration. This means that the guest device doesn't request the necessary permissions, which ultimately led to failing assertions. Add the missing blk_resume_after_migration() to the postcopy path. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r--migration/savevm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/migration/savevm.c b/migration/savevm.c
index 03ae1bd..a00c1ab 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1622,6 +1622,14 @@ static void loadvm_postcopy_handle_run_bh(void *opaque)
error_report_err(local_err);
}
+ /* If we get an error here, just don't restart the VM yet. */
+ blk_resume_after_migration(&local_err);
+ if (local_err) {
+ error_free(local_err);
+ local_err = NULL;
+ autostart = false;
+ }
+
trace_loadvm_postcopy_handle_run_cpu_sync();
cpu_synchronize_all_post_init();