diff options
author | Jason Wang <jasowang@redhat.com> | 2010-09-14 11:53:05 -0400 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2010-10-05 07:33:43 -0400 |
commit | e0e9b406470b8dd75a115cf82c4791f41615c4c3 (patch) | |
tree | d31f3ee226e91854bc97d948a30b80c18b21fa47 /drivers/vhost/net.c | |
parent | a00eac0c459abecb539fb2a2abd3122dd7ca5d4a (diff) |
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>
Diffstat (limited to 'drivers/vhost/net.c')
-rw-r--r-- | drivers/vhost/net.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 7c8008225ee3..72ab71fdf053 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c | |||
@@ -243,7 +243,7 @@ static int get_rx_bufs(struct vhost_virtqueue *vq, | |||
243 | int r, nlogs = 0; | 243 | int r, nlogs = 0; |
244 | 244 | ||
245 | while (datalen > 0) { | 245 | while (datalen > 0) { |
246 | if (unlikely(seg >= VHOST_NET_MAX_SG)) { | 246 | if (unlikely(seg >= UIO_MAXIOV)) { |
247 | r = -ENOBUFS; | 247 | r = -ENOBUFS; |
248 | goto err; | 248 | goto err; |
249 | } | 249 | } |