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-peterx@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