v2: - Patch "migration: Let migrate_set_error() take ownership" - Fix three new call sites that uses migrate_set_error(), by dropping the error_report_err() later on. [Fabiano] - Patch "migration: Allow network to fail even during recovery" - Fixed wrong check for dest QEMU - Patch "migration: Allow RECOVER->PAUSED convertion for dest qemu" - Newly added - Patch "tests/migration-test: Add a test for postcopy hangs during RECOVER" - Newly added, based on Fabiano's test case provided
v1: https://lore.kernel.org/r/20230829214235.69309-1-pet...@redhat.com Again, if this collapse with anything I can rebase. This series allow better error handling in the postcopy return path thread, also it enables double-failures to happen during postcopy recovery, IOW, one can fail again right during RECOVER phase on both sides. Big thanks for Fabiano on prioviding a base test case for the double failure case. Please have a look, thanks. Fabiano Rosas (1): tests/migration-test: Add a test for postcopy hangs during RECOVER Peter Xu (10): migration: Display error in query-migrate irrelevant of status migration: Let migrate_set_error() take ownership migration: Introduce migrate_has_error() migration: Refactor error handling in source return path migration: Deliver return path file error to migrate state too qemufile: Always return a verbose error migration: Remember num of ramblocks to sync during recovery migration: Add migration_rp_wait|kick() migration: Allow network to fail even during recovery migration: Allow RECOVER->PAUSED convertion for dest qemu qapi/migration.json | 5 +- migration/migration.h | 25 +++- migration/qemu-file.h | 1 + migration/ram.h | 5 +- migration/channel.c | 1 - migration/migration.c | 231 +++++++++++++++++++++++------------ migration/multifd.c | 10 +- migration/postcopy-ram.c | 1 - migration/qemu-file.c | 17 ++- migration/ram.c | 77 +++++++----- migration/savevm.c | 3 +- tests/qtest/migration-test.c | 94 ++++++++++++++ migration/trace-events | 2 +- 13 files changed, 342 insertions(+), 130 deletions(-) -- 2.41.0