mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 03:13:44 +08:00
migration/rdma: Downgrade qemu_rdma_cleanup() errors to warnings
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(), qemu_rdma_connect(), rdma_start_incoming_migration(), and rdma_start_outgoing_migration() violate this principle: they call error_report() via qemu_rdma_cleanup(). Moreover, qemu_rdma_cleanup() can't fail. It is called on error paths, and QIOChannel close and finalization. Are the conditions it reports really errors? I doubt it. Downgrade qemu_rdma_cleanup()'s errors to warnings. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20230928132019.2544702-52-armbru@redhat.com>
This commit is contained in:
parent
b765d21e4a
commit
5cec563d0c
@ -2375,9 +2375,9 @@ static void qemu_rdma_cleanup(RDMAContext *rdma)
|
||||
.type = RDMA_CONTROL_ERROR,
|
||||
.repeat = 1,
|
||||
};
|
||||
error_report("Early error. Sending error.");
|
||||
warn_report("Early error. Sending error.");
|
||||
if (qemu_rdma_post_send_control(rdma, NULL, &head, &err) < 0) {
|
||||
error_report_err(err);
|
||||
warn_report_err(err);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user