]> git.ipfire.org Git - thirdparty/qemu.git/commit
migration: Don't set FAILED state when cancelling
authorFabiano Rosas <farosas@suse.de>
Thu, 13 Feb 2025 17:59:24 +0000 (14:59 -0300)
committerFabiano Rosas <farosas@suse.de>
Fri, 14 Feb 2025 18:19:06 +0000 (15:19 -0300)
commit4a228bcc994ea8ab05d4927e23e7916f32cc1168
tree6b6eb18b13fa84a4417f722c357dea97cc989fc4
parent646119088f8a1d9925239e70b0a7b426bfb6e58a
migration: Don't set FAILED state when cancelling

The expected outcome from qmp_migrate_cancel() is that the source
migration goes to the terminal state
MIGRATION_STATUS_CANCELLED. Anything different from this is a bug when
cancelling.

Make sure there is never a state transition from an unspecified state
into FAILED. Code that sets FAILED, should always either make sure
that the old state is not CANCELLING or specify the old state.

Note that the destination is allowed to go into FAILED, so there's no
issue there.

(I don't think this is relevant as a backport because cancelling does
work, it just doesn't show the right state at the end)

Fixes: 3dde8fdbad ("migration: Merge precopy/postcopy on switchover start")
Fixes: d0edb8a173 ("migration: Create the postcopy preempt channel asynchronously")
Fixes: 8518278a6a ("migration: implementation of background snapshot thread")
Fixes: bf78a046b9 ("migration: refactor migrate_fd_connect failures")
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-ID: <20250213175927.19642-7-farosas@suse.de>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
migration/migration.c