summaryrefslogtreecommitdiff
path: root/drivers/nvdimm
diff options
context:
space:
mode:
authorStefano Garzarella <sgarzare@redhat.com>2022-06-24 09:56:56 +0200
committerMichael S. Tsirkin <mst@redhat.com>2022-08-11 04:06:37 -0400
commit309bba39c945ac8ab8083ac05cd6cfe5822968e0 (patch)
tree6b1fba451ea14b42c44fed31826f48d3c5df4fd8 /drivers/nvdimm
parent96ef18a24b87bef7c3d2dad72cf4c3013a9f7f35 (diff)
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>
Diffstat (limited to 'drivers/nvdimm')
0 files changed, 0 insertions, 0 deletions