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;
>   }
>   

Reply via email to