diff options
author | Markus Armbruster <armbru@redhat.com> | 2023-09-28 15:19:42 +0200 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2023-10-11 11:17:03 +0200 |
commit | 0bc2604508462184fa0ffb9a6c62c6f9a40a428d (patch) | |
tree | 36675e35da9ce3372e1fdee5a797bf11e2979dea /util/qemu-progress.c | |
parent | 89997ac31839cde1746bf5d8d830e1d2db595e98 (diff) | |
download | qemu-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