linux/drivers/vhost
Stefano Garzarella 309bba39c9 vringh: iterate on iotlb_translate to handle large translations
iotlb_translate() can return -ENOBUFS if the bio_vec is not big enough
to contain all the ranges for translation.
This can happen for example if the VMM maps a large bounce buffer,
without using hugepages, that requires more than 16 ranges to translate
the addresses.

To handle this case, let's extend iotlb_translate() to also return the
number of bytes successfully translated.
In copy_from_iotlb()/copy_to_iotlb() loops by calling iotlb_translate()
several times until we complete the translation.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20220624075656.13997-1-sgarzare@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2022-08-11 04:06:37 -04:00
..
iotlb.c vhost_iotlb: split out IOTLB initialization 2022-05-31 12:44:28 -04:00
Kconfig vhost_vdpa: implement IRQ offloading in vhost_vdpa 2020-08-05 11:08:42 -04:00
Makefile vhost: introduce vDPA-based backend 2020-04-02 10:41:40 -04:00
net.c vhost: rename vhost_work_dev_flush 2022-05-31 12:45:10 -04:00
scsi.c vhost: rename vhost_work_dev_flush 2022-05-31 12:45:10 -04:00
test.c vhost: rename vhost_work_dev_flush 2022-05-31 12:45:10 -04:00
test.h tools/virtio: Add --reset 2020-06-22 12:34:21 -04:00
vdpa.c vhost-vdpa: call vhost_vdpa_cleanup during the release 2022-06-27 08:05:35 -04:00
vhost.c vhost: rename vhost_work_dev_flush 2022-05-31 12:45:10 -04:00
vhost.h vhost: rename vhost_work_dev_flush 2022-05-31 12:45:10 -04:00
vringh.c vringh: iterate on iotlb_translate to handle large translations 2022-08-11 04:06:37 -04:00
vsock.c vhost: rename vhost_work_dev_flush 2022-05-31 12:45:10 -04:00