Revert "Fake dirty loggin when it's not there"
authorAnthony Liguori <aliguori@us.ibm.com>
Mon, 27 Jul 2009 20:23:59 +0000 (15:23 -0500)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 27 Jul 2009 20:26:43 +0000 (15:26 -0500)
This reverts commit bd8367761236cd5c435598aeb2f1b8240c09b059.

PPC should just implement dirty logging so we can avoid all the fall-out from
this changeset.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

kvm-all.c

index 9a822ed..f669c3a 100644 (file)
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -318,7 +318,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
     KVMDirtyLog d;
     KVMSlot *mem;
     int ret = 0;
-    int r;
 
     d.dirty_bitmap = NULL;
     while (start_addr < end_addr) {
@@ -327,11 +326,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
             break;
         }
 
-        /* We didn't activate dirty logging? Don't care then. */
-        if(!(mem->flags & KVM_MEM_LOG_DIRTY_PAGES)) {
-            continue;
-        }
-
         size = ((mem->memory_size >> TARGET_PAGE_BITS) + 7) / 8;
         if (!d.dirty_bitmap) {
             d.dirty_bitmap = qemu_malloc(size);
@@ -343,8 +337,7 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
 
         d.slot = mem->slot;
 
-        r = kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d);
-        if (r == -EINVAL) {
+        if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) {
             dprintf("ioctl failed %d\n", errno);
             ret = -1;
             break;
@@ -358,10 +351,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
 
             if (test_le_bit(nr, bitmap)) {
                 cpu_physical_memory_set_dirty(addr);
-            } else if (r < 0) {
-                /* When our KVM implementation doesn't know about dirty logging
-                 * we can just assume it's always dirty and be fine. */
-                cpu_physical_memory_set_dirty(addr);
             }
         }
         start_addr = phys_addr;