[libvirt PATCH 2/2] qemu: Ignore failure in post-copy migration when QEMU says completed

Peter Krempa pkrempa at redhat.com
Mon Nov 21 10:42:08 UTC 2022


On Fri, Nov 18, 2022 at 16:37:22 +0100, Jiri Denemark wrote:
> When post-copy migration is running in Finish phase we already did
> everything needed and we're just waiting for all the memory to transfer
> to the destination. The domain is already running on there at this
> point. Once all data is transferred (QEMU sends a MIGRATION completed
> event) we're done. So in this specific post-copy case the source does
> not need to care about the result of the Finish call as long as QEMU
> says migration completed. The Finish call to the destination daemon may
> fail for reasons that do not affect QEMU, e.g., libvirt daemon was
> restarted there or the libvirt connection broke.
> 
> Currently we just mark the post-copy migration as failed on the source
> and keep the domain paused there. But when libvirt daemon is restarted
> at this point, it will detect migration finished successfully and kill
> the domain as migrated. It make sense to do this even without having to
> restart the daemon.
> 
> Closes: https://gitlab.com/libvirt/libvirt/-/issues/338
> 
> Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> ---
>  src/qemu/qemu_migration.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

Reviewed-by: Peter Krempa <pkrempa at redhat.com>


More information about the libvir-list mailing list