Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling error
On Thu, Aug 31, 2023 at 03:25:40PM +0200, 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) Alas, the curse of immutable git history preserving typos in commit subjects ;) The alternative of rewriting history and breaking SHA references is worse. > Signed-off-by: Markus Armbruster > --- > migration/rdma.c | 6 -- > 1 file changed, 4 insertions(+), 2 deletions(-) Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org
Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling error
On Thu, Aug 31, 2023 at 03:25:40PM +0200, 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) > Signed-off-by: Markus Armbruster Reviewed-by: Peter Xu -- Peter Xu
Re: [PATCH 1/7] migration/rdma: Fix save_page method to fail on polling error
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 Reviewed-by: Li Zhijian > --- > 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
Eric Blake writes: > On Thu, Aug 31, 2023 at 03:25:40PM +0200, 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) > > Alas, the curse of immutable git history preserving typos in commit > subjects ;) "wrid" is short for "work request ID", actually. > The alternative of rewriting history and breaking SHA > references is worse. Rewriting master is a big no-no. git-note can be used to correct the record, but it has its usability issues. >> Signed-off-by: Markus Armbruster >> --- >> migration/rdma.c | 6 -- >> 1 file changed, 4 insertions(+), 2 deletions(-) > > Reviewed-by: Eric Blake Thanks!