On Mon, Aug 31, 2026 at 08:00:00AM +0200, Eugenio Perez Martin wrote:
> On Wed, Aug 26, 2026 at 2:47 PM Eugenio Perez Martin
> <[email protected]> wrote:
> >
> > On Tue, Aug 18, 2026 at 11:15 PM Alexander Graf <[email protected]> wrote:
> > >
> > > Commit f7728002c1c7 ("virtio_ring: fix return code on DMA mapping
> > > fails") moved virtqueue_add_split() and virtqueue_add_indirect_packed()
> > > to -ENOMEM, because virtio_queue_rq() maps -EIO to BLK_STS_IOERR and
> > > the request fails. We still return -EIO from virtqueue_add_packed(),
> > > and virtqueue_add_packed_in_order() copied that when it was added later.
> > >
> > > Guests that bounce their I/O through swiotlb (SEV-SNP, TDX, s390 secure
> > > execution) run the pool out with enough I/O in flight. On a split ring
> > > virtio_queue_rq() reports BLK_STS_RESOURCE and the block layer requeues
> > > the request. On a packed ring virtio_queue_rq() reports BLK_STS_IOERR
> > > instead and the error reaches the filesystem.
> > >
> > > Return -ENOMEM from the packed unmap_release paths too. Both are reached
> > > from a single goto on a failed mapping, which is where
> > > vring_map_one_sg() already produces -ENOMEM.
> > >
> > > That way every ring layout reports the same errno, and the block layer
> > > requeues the request instead of failing it.
> > >
> > > Fixes: f7728002c1c7 ("virtio_ring: fix return code on DMA mapping fails")
> > > Fixes: f6a15d854986 ("virtio_ring: add in order support")
> >
> > Acked-by: Eugenio Pérez <[email protected]>
> >
> 
> Even if I'd like to see this merged, I'm having second thoughts
> because it introduces userland visible changes in some drivers. Are
> them acceptable?

I mean, fixing the kernel for the userspace is kinda what we do, right?

-- 
MST


Reply via email to