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_post_send_control(), qemu_rdma_exchange_get_response(), and
> qemu_rdma_write_one() violate this principle: they call
> error_report(), fprintf(stderr, ...), and perror() via
> qemu_rdma_block_for_wrid(), qemu_rdma_poll(), and
> qemu_rdma_wait_comp_channel().  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_poll(),
> qemu_rdma_wait_comp_channel(), and qemu_rdma_block_for_wrid().  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>

Reply via email to