On 18/09/2023 22:41, 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.
> 
> Macro ERROR() violates this principle.  Delete the error_report()
> there.
> 
> Signed-off-by: Markus Armbruster <arm...@redhat.com>

Reviewed-by: Li Zhijian <lizhij...@fujitsu.com>

And

Tested-by: Li Zhijian <lizhij...@fujitsu.com>

> ---
>   migration/rdma.c | 4 ----
>   1 file changed, 4 deletions(-)
> 
> diff --git a/migration/rdma.c b/migration/rdma.c
> index d52de857c5..be31694d4f 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -40,12 +40,8 @@
>   #include "options.h"
>   #include <poll.h>
>   
> -/*
> - * Print and error on both the Monitor and the Log file.
> - */
>   #define ERROR(errp, fmt, ...) \
>       do { \
> -        fprintf(stderr, "RDMA ERROR: " fmt "\n", ## __VA_ARGS__); \
>           if (errp && (*(errp) == NULL)) { \
>               error_setg(errp, "RDMA ERROR: " fmt, ## __VA_ARGS__); \
>           } \

Reply via email to