summary refs log tree commit diff stats
path: root/util/qemu-config.c
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2021-05-06 12:05:48 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2021-05-26 14:49:46 +0200
commita81a592698c5cf3d84486b00c84b7979dfa0a3da (patch)
treedd43f42826f474eb69096c9309234939961b95e0 /util/qemu-config.c
parent2ea5cb0a47c9dbf78235de30a0d5846a4ab6d995 (diff)
downloadfocaccia-qemu-a81a592698c5cf3d84486b00c84b7979dfa0a3da.tar.gz
focaccia-qemu-a81a592698c5cf3d84486b00c84b7979dfa0a3da.zip
KVM: Disable manual dirty log when dirty ring enabled
KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is for KVM_CLEAR_DIRTY_LOG, which is only
useful for KVM_GET_DIRTY_LOG.  Skip enabling it for kvm dirty ring.

More importantly, KVM_DIRTY_LOG_INITIALLY_SET will not wr-protect all the pages
initially, which is against how kvm dirty ring is used - there's no way for kvm
dirty ring to re-protect a page before it's notified as being written first
with a GFN entry in the ring!  So when KVM_DIRTY_LOG_INITIALLY_SET is enabled
with dirty ring, we'll see silent data loss after migration.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20210506160549.130416-10-peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'util/qemu-config.c')
0 files changed, 0 insertions, 0 deletions