On Mon, Nov 03, 2025 at 07:32:57PM +0100, Juraj Marcin wrote: > From: Juraj Marcin <[email protected]> > > Currently, when postcopy starts, the source VM starts switchover and > sends a package containing the state of all non-postcopiable devices. > When the destination loads this package, the switchover is complete and > the destination VM starts. However, if the device state load fails or > the destination side crashes, the source side is already in > POSTCOPY_ACTIVE state and cannot be recovered, even when it has the most > up-to-date machine state as the destination has not yet started. > > This patch introduces a new POSTCOPY_DEVICE state which is active while > the destination machine is loading the device state, is not yet running, > and the source side can be resumed in case of a migration failure. > Return-path is required for this state to function, otherwise it will be > skipped in favor of POSTCOPY_ACTIVE. > > To transition from POSTCOPY_DEVICE to POSTCOPY_ACTIVE, the source > side uses a PONG message that is a response to a PING message processed > just before the POSTCOPY_RUN command that starts the destination VM. > Thus, this feature is effective even if the destination side does not > yet support this new state. > > Signed-off-by: Juraj Marcin <[email protected]>
Reviewed-by: Peter Xu <[email protected]> -- Peter Xu
