qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 4/4] 9pfs: add a size parameter to init_iov_from_pdu


From: Stefano Stabellini
Subject: [Qemu-devel] [PATCH 4/4] 9pfs: add a size parameter to init_iov_from_pdu
Date: Mon, 21 Nov 2016 13:39:32 -0800

Not all 9pfs transports share memory between request and response. For
those who don't, it is necessary to know how much memory is required in
the response.

Signed-off-by: Stefano Stabellini <address@hidden>
---
 hw/9pfs/9p.c               | 2 +-
 hw/9pfs/9p.h               | 2 +-
 hw/9pfs/virtio-9p-device.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index b6ec042..b82212b 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -1652,7 +1652,7 @@ static void v9fs_init_qiov_from_pdu(QEMUIOVector *qiov, 
V9fsPDU *pdu,
     struct iovec *iov;
     unsigned int niov;
 
-    pdu->s->transport->init_iov_from_pdu(pdu, &iov, &niov, is_write);
+    pdu->s->transport->init_iov_from_pdu(pdu, &iov, &niov, is_write, skip + 
size);
 
     qemu_iovec_init_external(&elem, iov, niov);
     qemu_iovec_init(qiov, niov);
diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h
index ab398d0..c830188 100644
--- a/hw/9pfs/9p.h
+++ b/hw/9pfs/9p.h
@@ -348,7 +348,7 @@ struct V9fsTransport {
     ssize_t     (*pdu_vmarshal)(V9fsPDU *pdu, size_t offset, const char *fmt, 
va_list ap);
     ssize_t     (*pdu_vunmarshal)(V9fsPDU *pdu, size_t offset, const char 
*fmt, va_list ap);
     void        (*init_iov_from_pdu)(V9fsPDU *pdu, struct iovec **piov,
-                              unsigned int *pniov, bool is_write);
+                              unsigned int *pniov, bool is_write, size_t size);
     void        (*push_and_notify)(V9fsPDU *pdu);
 };
 
diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
index e1a37a4..e2b27e8 100644
--- a/hw/9pfs/virtio-9p-device.c
+++ b/hw/9pfs/virtio-9p-device.c
@@ -172,7 +172,7 @@ static ssize_t virtio_pdu_vunmarshal(V9fsPDU *pdu, size_t 
offset,
 }
 
 static void virtio_init_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov,
-                              unsigned int *pniov, bool is_write)
+                              unsigned int *pniov, bool is_write, size_t size)
 {
     V9fsState *s = pdu->s;
     V9fsVirtioState *v = container_of(s, V9fsVirtioState, state);
-- 
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]