Commit 8215e91463d9000e782c111b4a8f63c242cd92b6

Authored by aliguori
1 parent 4dabe248

stop dirty tracking just at the end of migration (Glauber Costa)

If there is still work to do, it is not safe to assume we
can end the dirty tracking. Specifically, kvm can update the dirty
tracking log inside ram_save_block(), leaving pages still out of sync
if we go with the current code.

Based on a patch by Yaniv Kamay

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6999 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 1 additions and 1 deletions
@@ -3252,10 +3252,10 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque) @@ -3252,10 +3252,10 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque)
3252 /* try transferring iterative blocks of memory */ 3252 /* try transferring iterative blocks of memory */
3253 3253
3254 if (stage == 3) { 3254 if (stage == 3) {
3255 - cpu_physical_memory_set_dirty_tracking(0);  
3256 3255
3257 /* flush all remaining blocks regardless of rate limiting */ 3256 /* flush all remaining blocks regardless of rate limiting */
3258 while (ram_save_block(f) != 0); 3257 while (ram_save_block(f) != 0);
  3258 + cpu_physical_memory_set_dirty_tracking(0);
3259 } 3259 }
3260 3260
3261 qemu_put_be64(f, RAM_SAVE_FLAG_EOS); 3261 qemu_put_be64(f, RAM_SAVE_FLAG_EOS);