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>