v2: - Collect tags - Patch 3 - cover all states in migration_postcopy_is_alive() - Patch 4 (old) - English changes [Fabiano] - Split the migration_incoming_state_setup() cleanup into a new patch [Fabiano] - Drop RECOVER_SETUP in fill_destination_migration_info() [Fabiano] - Keep using explicit state check in migrate_fd_connect() for resume [Fabiano] - New patches - New doc update: "migration/docs: Update postcopy recover session for SETUP phase" - New test case: last four patches
v1: https://lore.kernel.org/r/20240612144228.1179240-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-10 adds a new test for the new state. Comments welcomed, thanks. CI: https://gitlab.com/peterx/qemu/-/pipelines/1335604588 (check-dco & check-patch fail to git-fetch, but doesn't look relevant) Peter Xu (10): 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: 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 | 20 ++++++ tests/qtest/migration-test.c | 110 ++++++++++++++++++++++++------ 13 files changed, 223 insertions(+), 82 deletions(-) -- 2.45.0