vhost: max s/g to match qemu
Qemu supports up to UIO_MAXIOV s/g so we have to match that because guest drivers may rely on this. Allocate indirect and log arrays dynamically to avoid using too much contigious memory and make the length of hdr array to match the header length since each iovec entry has a least one byte. Test with copying large files w/ and w/o migration in both linux and windows guests. Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:

committato da
Michael S. Tsirkin

parent
a00eac0c45
commit
e0e9b40647
@@ -243,7 +243,7 @@ static int get_rx_bufs(struct vhost_virtqueue *vq,
|
||||
int r, nlogs = 0;
|
||||
|
||||
while (datalen > 0) {
|
||||
if (unlikely(seg >= VHOST_NET_MAX_SG)) {
|
||||
if (unlikely(seg >= UIO_MAXIOV)) {
|
||||
r = -ENOBUFS;
|
||||
goto err;
|
||||
}
|
||||
|
Fai riferimento in un nuovo problema
Block a user