On 18/09/2023 22:42, Markus Armbruster wrote: > Functions that use an Error **errp parameter to return errors should > not also report them to the user, because reporting is the caller's > job. When the caller does, the error is reported twice. When it > doesn't (because it recovered from the error), there is no error to > report, i.e. the report is bogus. > > qemu_rdma_source_init() and qemu_rdma_accept() violate this principle: > they call error_report() via qemu_rdma_reg_control(). I elected not > to investigate how callers handle the error, i.e. precise impact is > not known. > > Clean this up by dropping the error reporting from > qemu_rdma_reg_control(). I believe the callers' error reports > suffice. If they don't, we need to convert to Error instead. > > Signed-off-by: Markus Armbruster <arm...@redhat.com>
Reviewed-by: Li Zhijian <lizhij...@fujitsu.com> > --- > migration/rdma.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/migration/rdma.c b/migration/rdma.c > index bf4e67d68d..29ad8ae832 100644 > --- a/migration/rdma.c > +++ b/migration/rdma.c > @@ -1349,7 +1349,6 @@ static int qemu_rdma_reg_control(RDMAContext *rdma, int > idx) > rdma->total_registrations++; > return 0; > } > - error_report("qemu_rdma_reg_control failed"); > return -1; > } >