[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 00/10] vhost: stick to -errno error return convention
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH 00/10] vhost: stick to -errno error return convention |
Date: |
Thu, 6 Jan 2022 04:57:52 -0500 |
On Thu, Nov 11, 2021 at 06:33:44PM +0300, Roman Kagan wrote:
> Error propagation between the generic vhost code and the specific backends is
> not quite consistent: some places follow "return -1 and set errno" convention,
> while others assume "return negated errno". Furthermore, not enough care is
> taken not to clobber errno.
>
> As a result, on certain code paths the errno resulting from a failure may get
> overridden by another function call, and then that zero errno inidicating
> success is propagated up the stack, leading to failures being lost. In
> particular, we've seen errors in the communication with a vhost-user-blk slave
> not trigger an immediate connection drop and reconnection, leaving it in a
> broken state.
>
> Rework error propagation to always return negated errno on errors and
> correctly pass it up the stack.
>
> Roman Kagan (10):
> vhost-user-blk: reconnect on any error during realize
> chardev/char-socket: tcp_chr_recv: don't clobber errno
> chardev/char-socket: tcp_chr_sync_read: don't clobber errno
> chardev/char-fe: don't allow EAGAIN from blocking read
So I dropped this one. If you are so inclined, pls work on
this separately.
> vhost-backend: avoid overflow on memslots_limit
> vhost-backend: stick to -errno error return convention
> vhost-vdpa: stick to -errno error return convention
> vhost-user: stick to -errno error return convention
> vhost: stick to -errno error return convention
> vhost-user-blk: propagate error return from generic vhost
>
> chardev/char-fe.c | 7 +-
> chardev/char-socket.c | 17 +-
> hw/block/vhost-user-blk.c | 4 +-
> hw/virtio/vhost-backend.c | 4 +-
> hw/virtio/vhost-user.c | 401 +++++++++++++++++++++-----------------
> hw/virtio/vhost-vdpa.c | 37 ++--
> hw/virtio/vhost.c | 98 +++++-----
> 7 files changed, 307 insertions(+), 261 deletions(-)
>
> --
> 2.33.1
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH 00/10] vhost: stick to -errno error return convention,
Michael S. Tsirkin <=