]> Git Repo - qemu.git/commitdiff
Revert "fix return check for KVM_GET_DIRTY_LOG ioctl"
authorMichael Tokarev <[email protected]>
Mon, 14 Apr 2014 12:14:04 +0000 (16:14 +0400)
committerPeter Maydell <[email protected]>
Mon, 14 Apr 2014 14:40:02 +0000 (15:40 +0100)
This reverts commit b533f658a98325d0e47b36113bd9f5bcc046fdae.

The original code was wrong, because effectively it ignored errors
from kernel, because kernel does not return -1 on error case but
returns -errno, and does not return -EPERM for this particular ioctl.
But in some cases kernel actually returned unsuccessful result,
namely, when the dirty bitmap in requested slot does not exist
it returns -ENOENT.  With new code this condition becomes an
error when it shouldn't be.

Revert that patch instead of fixing it properly this late in the
release process.  I disagree with this approach, but let's make
things move _somewhere_, instead of arguing endlessly whch of
the 2 proposed fixes is better.

Signed-off-by: Michael Tokarev <[email protected]>
Message-id: 1397477644[email protected]
Signed-off-by: Peter Maydell <[email protected]>
kvm-all.c

index cd4111dbda4049d52297e93d101b8ada2c3cad1d..82a91199e11a4544266d956a75fb81dc845d9608 100644 (file)
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -441,7 +441,7 @@ static int kvm_physical_sync_dirty_bitmap(MemoryRegionSection *section)
 
         d.slot = mem->slot;
 
-        if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) < 0) {
+        if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) {
             DPRINTF("ioctl failed %d\n", errno);
             ret = -1;
             break;
This page took 0.044982 seconds and 4 git commands to generate.