Based-on: <20240617185731.9725-1-faro...@suse.de> v3: - Added one comment in patch 8 explaining why migrate_incoming_qmp() needs to keep enabling "events" capability. - Split patch 9 into two patches, which makes migration_event_wait() to be used also in migrate_incoming_qmp() - Rename the tests in last patch, and a spell fix - Rebased to "[PATCH v3 00/16] migration/mapped-ram: Add direct-io support"
v1: https://lore.kernel.org/r/20240612144228.1179240-1-pet...@redhat.com v2: https://lore.kernel.org/r/20240617181534.1425179-1-pet...@redhat.com The major goal of this patchset is patch 5, which introduced a new postcopy state so that we will send an event in postcopy reconnect failures that Libvirt would prefer to have. There's more information for that issue in the commit message alone. Patch 1-2 are cleanups that are not directly relevant but I found/stored that could be good to have. I made it simple by putting them together in one thread to make patch management easier, but I can send them separately when necessary. Patch 3 is also a cleanup, but will be needed for patch 4 as dependency. Patch 4-5 is the core patches. Patch 6 updates doc for the new state. Patch 7-11 adds a new test for the new state. CI: https://gitlab.com/peterx/qemu/-/pipelines/1339544694 Comments welcomed, thanks. Peter Xu (11): migration/multifd: Avoid the final FLUSH in complete() migration: Rename thread debug names migration: Use MigrationStatus instead of int migration: Cleanup incoming migration setup state change migration/postcopy: Add postcopy-recover-setup phase migration/docs: Update postcopy recover session for SETUP phase tests/migration-tests: Drop most WIN32 ifdefs for postcopy failure tests tests/migration-tests: Always enable migration events tests/migration-tests: migration_event_wait() tests/migration-tests: Verify postcopy-recover-setup status tests/migration-tests: Cover postcopy failure on reconnect docs/devel/migration/postcopy.rst | 31 ++++---- qapi/migration.json | 4 ++ migration/migration.h | 9 +-- migration/postcopy-ram.h | 3 + tests/qtest/migration-helpers.h | 2 + migration/colo.c | 2 +- migration/migration.c | 98 +++++++++++++++++-------- migration/multifd.c | 6 +- migration/postcopy-ram.c | 10 ++- migration/ram.c | 4 -- migration/savevm.c | 6 +- tests/qtest/migration-helpers.c | 32 ++++++--- tests/qtest/migration-test.c | 116 +++++++++++++++++++++++------- 13 files changed, 229 insertions(+), 94 deletions(-) -- 2.45.0