aboutsummaryrefslogtreecommitdiff
path: root/util/qemu-progress.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2023-09-28 15:19:42 +0200
committerJuan Quintela <quintela@redhat.com>2023-10-11 11:17:03 +0200
commit0bc2604508462184fa0ffb9a6c62c6f9a40a428d (patch)
tree36675e35da9ce3372e1fdee5a797bf11e2979dea /util/qemu-progress.c
parent89997ac31839cde1746bf5d8d830e1d2db595e98 (diff)
downloadqemu-0bc2604508462184fa0ffb9a6c62c6f9a40a428d.zip
qemu-0bc2604508462184fa0ffb9a6c62c6f9a40a428d.tar.gz
qemu-0bc2604508462184fa0ffb9a6c62c6f9a40a428d.tar.bz2
migration/rdma: Fix or document problematic uses of errno
We use errno after calling Libibverbs functions that are not documented to set errno (manual page does not mention errno), or where the documentation is unclear ("returns [...] the value of errno on failure"). While this could be read as "sets errno and returns it", a glance at the source code[*] kills that hope: static inline int ibv_post_send(struct ibv_qp *qp, struct ibv_send_wr *wr, struct ibv_send_wr **bad_wr) { return qp->context->ops.post_send(qp, wr, bad_wr); } The callback can be static int mana_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr, struct ibv_send_wr **bad) { /* This version of driver supports RAW QP only. * Posting WR is done directly in the application. */ return EOPNOTSUPP; } Neither of them touches errno. One of these errno uses is easy to fix, so do that now. Several more will go away later in the series; add temporary FIXME commments. Three will remain; add TODO comments. TODO, not FIXME, because the bug might be in Libibverbs documentation. [*] https://github.com/linux-rdma/rdma-core.git commit 55fa316b4b18f258d8ac1ceb4aa5a7a35b094dcf Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20230928132019.2544702-17-armbru@redhat.com>
Diffstat (limited to 'util/qemu-progress.c')
0 files changed, 0 insertions, 0 deletions