[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling
From: |
Zhijian Li (Fujitsu) |
Subject: |
Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling error |
Date: |
Wed, 6 Sep 2023 03:48:05 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 |
On 31/08/2023 21:25, Markus Armbruster wrote:
> qemu_rdma_save_page() reports polling error with error_report(), then
> succeeds anyway. This is because the variable holding the polling
> status *shadows* the variable the function returns. The latter
> remains zero.
>
> Broken since day one, and duplicated more recently.
>
> Fixes: 2da776db4846 (rdma: core logic)
> Fixes: b390afd8c50b (migration/rdma: Fix out of order wrid)
Thanks for the fixes
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>
> ---
> migration/rdma.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/migration/rdma.c b/migration/rdma.c
> index ca430d319d..b2e869aced 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -3281,7 +3281,8 @@ static size_t qemu_rdma_save_page(QEMUFile *f,
> */
> while (1) {
> uint64_t wr_id, wr_id_in;
> - int ret = qemu_rdma_poll(rdma, rdma->recv_cq, &wr_id_in, NULL);
> + ret = qemu_rdma_poll(rdma, rdma->recv_cq, &wr_id_in, NULL);
> +
> if (ret < 0) {
> error_report("rdma migration: polling error! %d", ret);
> goto err;
> @@ -3296,7 +3297,8 @@ static size_t qemu_rdma_save_page(QEMUFile *f,
>
> while (1) {
> uint64_t wr_id, wr_id_in;
> - int ret = qemu_rdma_poll(rdma, rdma->send_cq, &wr_id_in, NULL);
> + ret = qemu_rdma_poll(rdma, rdma->send_cq, &wr_id_in, NULL);
> +
> if (ret < 0) {
> error_report("rdma migration: polling error! %d", ret);
> goto err;
- Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling error,
Zhijian Li (Fujitsu) <=