On Tue, Mar 14, 2023 at 05:15:58PM +0000, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > The RDMA code has return-path handling code, but it's only enabled > if postcopy is enabled; if the 'return-path' migration capability > is enabled, the return path is NOT setup but the core migration > code still tries to use it and breaks. > > Enable the RDMA return path if either postcopy or the return-path > capability is enabled. > > bz: https://bugzilla.redhat.com/show_bug.cgi?id=2063615 > > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com>
Acked-by: Peter Xu <pet...@redhat.com> > @@ -3373,7 +3373,8 @@ static int qemu_rdma_accept(RDMAContext *rdma) > * initialize the RDMAContext for return path for postcopy after first > * connection request reached. > */ > - if (migrate_postcopy() && !rdma->is_return_path) { > + if ((migrate_postcopy() || migrate_use_return_path()) > + && !rdma->is_return_path) { > rdma_return_path = qemu_rdma_data_init(rdma->host_port, NULL); > if (rdma_return_path == NULL) { > rdma_ack_cm_event(cm_event); It's not extremely clear to me yet on when we should use migrate_postcopy() and when to use migrate_postcopy_ram(). I think it's because I don't know enough on the dirty-bitmaps capability. Do we have some good documentation somewhere? Not much I get from the qapi doc.. # @dirty-bitmaps: If enabled, QEMU will migrate named dirty bitmaps. # (since 2.12) Thanks, -- Peter Xu