diff options
author | Michael Tokarev <mjt@tls.msk.ru> | 2014-04-14 16:14:04 +0400 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-04-14 15:40:02 +0100 |
commit | 50212d6346f33d6e19489e81b025b5c3bb8759be (patch) | |
tree | 69bd1213c459f1bbde1f6fedfc421f1d2d0b534c /kvm-all.c | |
parent | c2b9af1d6c2dda4c58a1c0ff389d09dcd9601b9e (diff) |
Revert "fix return check for KVM_GET_DIRTY_LOG ioctl"
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 <mjt@tls.msk.ru>
Message-id: 1397477644-902-1-git-send-email-mjt@msgid.tls.msk.ru
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'kvm-all.c')
-rw-r--r-- | kvm-all.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |