From: Glauber de Oliveira Costa <glom...@redhat.com>

In current calculations, we are not activating dirty logging
for all regions, leading migration to fail. This problem was
already raised by Yaniv Kamay a while ago. The proposed
solution at the time (not merged), was a calculation to convert
from target_phys_addr_t to ram_addr_t, which the dirty logging code
expects.

Avi noticed that enabling dirty logging for the region 0 -> -1ULL
would do the trick. As I hit the problem, I can confirm it does.

This patch, therefore, goes with this simpler approach. Before
this patch, migration fails. With this patch, simple migration
tests succeds.

Signed-off-by: Glauber de Oliveira Costa <glom...@redhat.com>
Signed-off-by: Avi Kivity <a...@redhat.com>

diff --git a/qemu-kvm.c b/qemu-kvm.c
index d6d0253..b227297 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -1244,7 +1244,7 @@ int kvm_update_dirty_pages_log(void)
     int r = 0;
 
 
-    r = kvm_get_dirty_pages_range(kvm_context, 0, phys_ram_size,
+    r = kvm_get_dirty_pages_range(kvm_context, 0, -1ULL,
                                   kvm_dirty_bitmap, NULL,
                                   kvm_get_dirty_bitmap_cb);
     return r;
--
To unsubscribe from this list: send the line "unsubscribe kvm-commits" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to