> From: Michael S. Tsirkin <m...@redhat.com>
> Sent: Tuesday, May 27, 2025 7:57 PM
> To: linux-kernel@vger.kernel.org
> Cc: Parav Pandit <pa...@nvidia.com>; Jason Wang <jasow...@redhat.com>;
> Xuan Zhuo <xuanz...@linux.alibaba.com>; Eugenio Pérez
> <epere...@redhat.com>; virtualizat...@lists.linux.dev
> Subject: [PATCH] virtio: document ENOSPC
>
> drivers handle ENOSPC specially since it's an error one can get from a
> working VQ. Document the semantics.
>
> Reported-by: Parav Pandit <pa...@nvidia.com>
> Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
> ---
> drivers/virtio/virtio_ring.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index
> b784aab66867..97ab0cce527d 100644
> --- a/drivers/virtio/virtio_ring.c
> +++ b/drivers/virtio/virtio_ring.c
> @@ -2296,6 +2296,10 @@ static inline int virtqueue_add(struct virtqueue
> *_vq,
> * at the same time (except where noted).
> *
> * Returns zero or a negative error (ie. ENOSPC, ENOMEM, EIO).
> + *
> + * NB: ENOSPC is a special code that is only returned on an attempt to
> + add a
> + * buffer to a full VQ. It indicates that some buffers are outstanding
> + and that
> + * the operation can be retried after some buffers have been used.
> */
> int virtqueue_add_sgs(struct virtqueue *_vq,
> struct scatterlist *sgs[],
> --
> MST
Reviewed-by: Parav Pandit <pa...@nvidia.com>