[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
- [Qemu-devel] [PATCH 1/4] 9pfs: move pdus to V9fsState, (continued)
[Qemu-devel] [PATCH 3/4] 9pfs: use v9fs_init_qiov_from_pdu instead of v9fs_pack, Stefano Stabellini, 2016/11/21
[Qemu-devel] [PATCH 4/4] 9pfs: add a size parameter to init_iov_from_pdu,
Stefano Stabellini <=
Re: [Qemu-devel] [PATCH 1/4] 9pfs: move pdus to V9fsState, Greg Kurz, 2016/11/24