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__); \ > } \