[PATCH v3 0/7] migration: Introduce POSTCOPY_DEVICE state

Juraj Marcin posted 7 patches 2 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
migration/migration.c                 | 116 ++++++++++++-------
migration/migration.h                 |   4 +
migration/postcopy-ram.c              | 160 ++++++++++++++++++++++++++
migration/postcopy-ram.h              |   3 +
migration/savevm.c                    | 134 +--------------------
migration/savevm.h                    |   2 +
migration/trace-events                |   3 +-
qapi/migration.json                   |   8 +-
tests/qtest/migration/precopy-tests.c |   3 +-
9 files changed, 260 insertions(+), 173 deletions(-)
[PATCH v3 0/7] migration: Introduce POSTCOPY_DEVICE state
Posted by Juraj Marcin 2 weeks ago
This series introduces a new POSTCOPY_DEVICE state that is active (both,
on source and destination side), while the destination loads the device
state. Before this series, if the destination machine failed during the
device load, the source side would stay stuck POSTCOPY_ACTIVE with no
way of recovery. With this series, if the migration fails while in
POSTCOPY_DEVICE state, the source side can safely resume, as destination
has not started yet.

RFC: https://lore.kernel.org/all/20250807114922.1013286-1-jmarcin@redhat.com/

V1: https://lore.kernel.org/all/20250915115918.3520735-1-jmarcin@redhat.com/

V2: https://lore.kernel.org/all/20251027154115.4138677-1-jmarcin@redhat.com/

V3 changes:

- rebased on top of https://gitlab.com/peterx/qemu/-/commits/staging

Patch 2:
- split into two separate patches

Patches 4, 5, 6 (was Patch 3)
- return to previous migration_incoming_state_destroy() that will not
  exit on error
- use existing exit-on-error option also for postcopy, in separate patch
- moved conversion of the postcopy listen thread to a joinable thread
  into a separate patch

Patch 7:
- added reset of postcopy_package_loaded_event

Juraj Marcin (6):
  migration: Move postcopy_ram_listen_thread() to postcopy-ram.c
  migration: Introduce postcopy incoming setup and cleanup functions
  migration: Refactor all incoming cleanup info
    migration_incoming_destroy()
  migration: Respect exit-on-error when migration fails before resuming
  migration: Make postcopy listen thread joinable
  migration: Introduce POSTCOPY_DEVICE state

Peter Xu (1):
  migration: Do not try to start VM if disk activation fails

 migration/migration.c                 | 116 ++++++++++++-------
 migration/migration.h                 |   4 +
 migration/postcopy-ram.c              | 160 ++++++++++++++++++++++++++
 migration/postcopy-ram.h              |   3 +
 migration/savevm.c                    | 134 +--------------------
 migration/savevm.h                    |   2 +
 migration/trace-events                |   3 +-
 qapi/migration.json                   |   8 +-
 tests/qtest/migration/precopy-tests.c |   3 +-
 9 files changed, 260 insertions(+), 173 deletions(-)

-- 
2.51.0