Commit 6e489f3f88f6f50f5e7d9c94e36e153741453581
1 parent
925ce05f
Revert "Fake dirty loggin when it's not there"
This reverts commit bd836776. 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>
Showing
1 changed file
with
1 additions
and
12 deletions
kvm-all.c
@@ -318,7 +318,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | @@ -318,7 +318,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | ||
318 | KVMDirtyLog d; | 318 | KVMDirtyLog d; |
319 | KVMSlot *mem; | 319 | KVMSlot *mem; |
320 | int ret = 0; | 320 | int ret = 0; |
321 | - int r; | ||
322 | 321 | ||
323 | d.dirty_bitmap = NULL; | 322 | d.dirty_bitmap = NULL; |
324 | while (start_addr < end_addr) { | 323 | while (start_addr < end_addr) { |
@@ -327,11 +326,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | @@ -327,11 +326,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | ||
327 | break; | 326 | break; |
328 | } | 327 | } |
329 | 328 | ||
330 | - /* We didn't activate dirty logging? Don't care then. */ | ||
331 | - if(!(mem->flags & KVM_MEM_LOG_DIRTY_PAGES)) { | ||
332 | - continue; | ||
333 | - } | ||
334 | - | ||
335 | size = ((mem->memory_size >> TARGET_PAGE_BITS) + 7) / 8; | 329 | size = ((mem->memory_size >> TARGET_PAGE_BITS) + 7) / 8; |
336 | if (!d.dirty_bitmap) { | 330 | if (!d.dirty_bitmap) { |
337 | d.dirty_bitmap = qemu_malloc(size); | 331 | d.dirty_bitmap = qemu_malloc(size); |
@@ -343,8 +337,7 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | @@ -343,8 +337,7 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | ||
343 | 337 | ||
344 | d.slot = mem->slot; | 338 | d.slot = mem->slot; |
345 | 339 | ||
346 | - r = kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d); | ||
347 | - if (r == -EINVAL) { | 340 | + if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) { |
348 | dprintf("ioctl failed %d\n", errno); | 341 | dprintf("ioctl failed %d\n", errno); |
349 | ret = -1; | 342 | ret = -1; |
350 | break; | 343 | break; |
@@ -358,10 +351,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | @@ -358,10 +351,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, | ||
358 | 351 | ||
359 | if (test_le_bit(nr, bitmap)) { | 352 | if (test_le_bit(nr, bitmap)) { |
360 | cpu_physical_memory_set_dirty(addr); | 353 | cpu_physical_memory_set_dirty(addr); |
361 | - } else if (r < 0) { | ||
362 | - /* When our KVM implementation doesn't know about dirty logging | ||
363 | - * we can just assume it's always dirty and be fine. */ | ||
364 | - cpu_physical_memory_set_dirty(addr); | ||
365 | } | 354 | } |
366 | } | 355 | } |
367 | start_addr = phys_addr; | 356 | start_addr = phys_addr; |