On 12/03/2024 07.37, Nicholas Piggin wrote:
On Wed Mar 6, 2024 at 12:11 AM AEST, Nico Boehr wrote:
Sometimes, QEMU needs a bit longer to remove the incoming migration
socket. This happens in some environments on s390x for the
migration-skey-sequential test.
Instead of directly erroring out, wait for the removal of the socket.
Signed-off-by: Nico Boehr <nrb@xxxxxxxxxxxxx>
It's interesting that the incoming socket is not removed after
QMP says migration complete. I guess that's by design, but have
you checked the QEMU code whether it's intentional?
I guess it's code like this - in migration/migration.c
/*
* This must happen after any state changes since as soon as an external
* observer sees this event they might start to prod at the VM assuming
* it's ready to use.
*/
migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE,
MIGRATION_STATUS_COMPLETED);
migration_incoming_state_destroy();
So, it looks like a good fix. And probably not just s390x specific
it might be just unlucky timing.
Reviewed-by: Nicholas Piggin <npiggin@xxxxxxxxx>
All right, I pushed this as a fix now to the repository.
Thomas