* Chuan Zheng (zhengchuan@huawei.com) wrote:
> All data is sent by multifd Channels, so we only register its for
> multifd channels and main channel don't register its.
>
> Signed-off-by: Zhimin Feng <fengzhimin1@huawei.com>
> Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
> ---
> migration/rdma.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/migration/rdma.c b/migration/rdma.c
> index c906cc7..f5eb563 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -3939,6 +3939,12 @@ static int qemu_rdma_registration_stop(QEMUFile *f, void *opaque,
>
> qemu_sem_post(&multifd_send_param->sem_sync);
> }
> +
> + /*
> + * Use multifd to migrate, we only register memory for
> + * multifd RDMA channel and main channel don't register it.
> + */
> + goto wait_reg_complete;
No! No goto's for control flow except for error exits.
> }
>
> /*
> @@ -3999,6 +4005,8 @@ static int qemu_rdma_registration_stop(QEMUFile *f, void *opaque,
> rdma->dest_blocks[i].remote_host_addr;
> local->block[i].remote_rkey = rdma->dest_blocks[i].remote_rkey;
> }
> +
> +wait_reg_complete:
> /* Wait for all multifd channels to complete registration */
> if (migrate_use_multifd()) {
> int i;
> --
> 1.8.3.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK