ENOENT (iiuc) means the kernel has an empty dirty bitmap for this slot. Don't abort in that case. This appears to solve the bug reported at
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1303926 which first showed up with commit b533f658a98325d: fix return check for KVM_GET_DIRTY_LOG ioctl Signed-off-by: Serge Hallyn <[email protected]> --- kvm-all.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kvm-all.c b/kvm-all.c index 82a9119..7b7ea8d 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -441,10 +441,13 @@ static int kvm_physical_sync_dirty_bitmap(MemoryRegionSection *section) d.slot = mem->slot; - if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) { + ret = kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d); + if (ret < 0 && ret != -ENOENT) { DPRINTF("ioctl failed %d\n", errno); ret = -1; break; + } else if (ret < 0) { + ret = 0; } kvm_get_dirty_pages_log_range(section, d.dirty_bitmap); -- 1.9.1 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1303926 Title: qemu-system-x86_64 crashed with SIGABRT To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1303926/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
