[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] migration/multifd: Fix compat with QEMU < 9.0
From: |
Peter Xu |
Subject: |
Re: [PATCH 1/2] migration/multifd: Fix compat with QEMU < 9.0 |
Date: |
Mon, 16 Dec 2024 11:02:03 -0500 |
On Fri, Dec 13, 2024 at 01:01:19PM -0300, Fabiano Rosas wrote:
> Commit f5f48a7891 ("migration/multifd: Separate SYNC request with
> normal jobs") changed the multifd source side to stop sending data
> along with the MULTIFD_FLAG_SYNC, effectively introducing the concept
> of a SYNC-only packet. Relying on that, commit d7e58f412c
> ("migration/multifd: Don't send ram data during SYNC") later came
> along and skipped reading data from SYNC packets.
>
> In a versions timeline like this:
>
> 8.2 f5f48a7 9.0 9.1 d7e58f41 9.2
>
> The issue arises that QEMUs < 9.0 still send data along with SYNC, but
> QEMUs > 9.1 don't gather that data anymore. This leads to various
> kinds of migration failures due to desync/missing data.
>
> Stop checking for a SYNC packet on the destination and unconditionally
> unfill the packet.
>
> From now on:
>
> old -> new:
> the source sends data + sync, destination reads normally
>
> new -> new:
> source sends only sync, destination reads zeros
>
> new -> old:
> source sends only sync, destination reads zeros
>
> CC: qemu-stable@nongnu.org
> Fixes: d7e58f412c ("migration/multifd: Don't send ram data during SYNC")
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2720
> Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
--
Peter Xu