summary refs log tree commit diff stats
path: root/migration/ram.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2016-09-22 16:08:31 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2016-09-27 11:57:29 +0200
commit9c1f8f4493e8355d0e48f7d1eebdf86893ba082d (patch)
treee47020351bb35ddcba713a692c853a9fad882fce /migration/ram.c
parentcc9d8a3b2c41c22fb09f90f3085e6036c199c3ca (diff)
downloadfocaccia-qemu-9c1f8f4493e8355d0e48f7d1eebdf86893ba082d.tar.gz
focaccia-qemu-9c1f8f4493e8355d0e48f7d1eebdf86893ba082d.zip
migration: sync all address spaces
Migrating a VM during reboot sometimes results in differences
between the source and destination in the SMRAM area.

This is because migration_bitmap_sync() only fetches from KVM
the dirty log of address_space_memory.  SMRAM memory slots
are ignored and the modifications to SMRAM are not sent to the
destination.

Reported-by: He Rongguang <herongguang.he@huawei.com>
Reviewed-by: He Rongguang <herongguang.he@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'migration/ram.c')
-rw-r--r--migration/ram.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/migration/ram.c b/migration/ram.c
index a6e1c63a08..c8ec9f268f 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -626,7 +626,7 @@ static void migration_bitmap_sync(void)
     }
 
     trace_migration_bitmap_sync_start();
-    address_space_sync_dirty_bitmap(&address_space_memory);
+    memory_global_dirty_log_sync();
 
     qemu_mutex_lock(&migration_bitmap_mutex);
     rcu_read_lock();