On Tue, Apr 02, 2024 at 07:20:01AM +0000, Wang, Wei W wrote: > > IIUC we still need that pre_7_2 stuff and keep the postponed connect() to > > make sure the ordering is done properly. Wei, could you elaborate the patch > > you mentioned? Maybe I missed some spots. > > Sure. I saw your patch (5655aab079) ensures that the preempt channel to be > created when PONG is received from the destination, which indicates that > the main channel has been ready on the destination side. > > Why was it decided to postpone the preempt channel's connect() for newer QEMU > only? The old QEMU (before 7.2) still performs preempt channel connect() in > migrate_fd_connect(), doesn't it have the disordering issue?
Yes it has, but the solution actually was not compatible with older binaries, so migration was broken back then.. See: https://lore.kernel.org/qemu-devel/20230326172540.2571110-1-pet...@redhat.com/ My memory was that we didn't have a good solution to fix it without breaking the old protocol, so it can only be fixed on newer binaries. Thanks, -- Peter Xu