This patchset does bug fixes that I found when testing preempt-full. Patch 1 should fix a possible deadloop when I hit when testing the preempt-full code. I didn't verify it because it's so hard to trigger, but the logic should be explained in the patch.
Patch 2 fixes a race condition I can easily trigger with the latest preempt-full code when running with recovery+tls test. The bug hides quite deep and took time to debug. Fundamentally it's about qemufile API, I hope someday we can have something better than that but still so far there's no strong enough reason to rework the whole thing. Patch 3-4 are two patches to disable either postcopy or preempt mode only for xbzrle/compression. Patch 5 is something nice to have to optimize the bitmap ops. The last two patches are actually part of my preempt-full RFC series. I picked these patches out explicitly from preempt-full series, because at least patches 1-4 fix real bugs in current code base, so they should get more focus. Thanks, Peter Xu (5): migration: Fix possible deadloop of ram save process migration: Fix race on qemu_file_shutdown() migration: Disallow xbzrle with postcopy migration: Disallow postcopy preempt to be used with compress migration: Use non-atomic ops for clear log bitmap include/exec/ram_addr.h | 11 +++++----- include/exec/ramblock.h | 3 +++ include/qemu/bitmap.h | 1 + migration/migration.c | 16 +++++++++++++++ migration/qemu-file.c | 27 ++++++++++++++++++++++--- migration/ram.c | 16 +++++++++++---- util/bitmap.c | 45 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 107 insertions(+), 12 deletions(-) -- 2.32.0