On Fri, Oct 02, 2026 at 13:19:07 +0200, Denis V. Lunev wrote:
> From: Denis V. Lunev <[email protected]>
> 
> QEMU 10.2 added a postcopy-device migration state between active and
> postcopy-active. The source stays in it from the moment it has sent the
> device state until the destination confirms it has loaded it, and the
> destination is in it while loading. libvirt does not know the state:
> the MIGRATION event is dropped with a warning and query-migrate fails
> with
> 
>   unexpected migration status in postcopy-device
> 
> so virDomainGetJobInfo and virDomainGetJobStats fail for that whole
> phase. OpenStack nova polls job stats during a live migration and aborts
> it on that error.
> 
> Treat postcopy-device as part of the migrating phase. A failure in it
> still lets the source resume, which is what QEMU added the state for, so
> the source keeps waiting for postcopy-active before it reports
> post-copy.
> 
> Signed-off-by: Denis V. Lunev <[email protected]>
> ---
>  src/qemu/qemu_migration.c    |  2 ++
>  src/qemu/qemu_monitor.c      |  1 +
>  src/qemu/qemu_monitor.h      |  1 +
>  src/qemu/qemu_monitor_json.c |  1 +
>  src/qemu/qemu_process.c      |  1 +
>  tests/qemumonitorjsontest.c  | 25 +++++++++++++++++++++++++
>  6 files changed, 31 insertions(+)

Reviewed-by: Jiri Denemark <[email protected]>

Reply via email to