]> git.ipfire.org Git - thirdparty/qemu.git/commit
migration: Fix state transition in postcopy_start() error handling
authorJuraj Marcin <jmarcin@redhat.com>
Tue, 26 Aug 2025 11:51:40 +0000 (13:51 +0200)
committerPeter Xu <peterx@redhat.com>
Fri, 3 Oct 2025 13:48:02 +0000 (09:48 -0400)
commit725a9e5f7885a3c0d0cd82022d6eb5a758ac9d47
tree9bf96f13f78eb31a3d19fd78be3772d91f4e5f46
parent82f038d5961a8c8f896b499e31c638266e0291e9
migration: Fix state transition in postcopy_start() error handling

Commit 48814111366b ("migration: Always set DEVICE state") introduced
DEVICE state to postcopy, which moved the actual state transition that
leads to POSTCOPY_ACTIVE.

However, the error handling part of the postcopy_start() function still
expects the state POSTCOPY_ACTIVE, but depending on where an error
happens, now the state can be either ACTIVE, DEVICE or CANCELLING, but
never POSTCOPY_ACTIVE, as this transition now happens just before a
successful return from the function.

Instead, accept any state except CANCELLING when transitioning to FAILED
state.

Cc: qemu-stable@nongnu.org
Fixes: 48814111366b ("migration: Always set DEVICE state")
Signed-off-by: Juraj Marcin <jmarcin@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20250826115145.871272-1-jmarcin@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
migration/migration.c