[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 18/27] 9pfs: factor out pdu_push_and_notify
From: |
Wei Liu |
Subject: |
[Qemu-devel] [PATCH v2 18/27] 9pfs: factor out pdu_push_and_notify |
Date: |
Thu, 7 Jan 2016 19:56:15 +0000 |
Signed-off-by: Wei Liu <address@hidden>
---
hw/9pfs/virtio-9p.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/hw/9pfs/virtio-9p.c b/hw/9pfs/virtio-9p.c
index 498e327..af9b1d1 100644
--- a/hw/9pfs/virtio-9p.c
+++ b/hw/9pfs/virtio-9p.c
@@ -63,6 +63,17 @@ ssize_t pdu_unmarshal(V9fsPDU *pdu, size_t offset, const
char *fmt, ...)
return ret;
}
+static void pdu_push_and_notify(V9fsPDU *pdu)
+{
+ V9fsState *s = pdu->s;
+
+ /* push onto queue and notify */
+ virtqueue_push(s->vq, &pdu->elem, pdu->size);
+
+ /* FIXME: we should batch these completions */
+ virtio_notify(VIRTIO_DEVICE(s), s->vq);
+}
+
static int omode_to_uflags(int8_t mode)
{
int ret = 0;
@@ -653,11 +664,7 @@ static void pdu_complete(V9fsPDU *pdu, ssize_t len)
pdu->size = len;
pdu->id = id;
- /* push onto queue and notify */
- virtqueue_push(s->vq, &pdu->elem, len);
-
- /* FIXME: we should batch these completions */
- virtio_notify(VIRTIO_DEVICE(s), s->vq);
+ pdu_push_and_notify(pdu);
/* Now wakeup anybody waiting in flush for this request */
qemu_co_queue_next(&pdu->complete);
--
2.1.4
- Re: [Qemu-devel] [PATCH v2 12/27] 9pfs: use V9fsBlob to transmit xattr, (continued)
[Qemu-devel] [PATCH v2 10/27] fsdev: break out 9p-marshal.{c, h} from virtio-9p-marshal.{c, h}, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 24/27] 9pfs: rename virtio_9p_set_fd_limit to use v9fs_ prefix, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 26/27] 9pfs: factor out v9fs_device_{, un}realize_common, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 16/27] 9pfs: make pdu_{, un}marshal proper functions, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 14/27] 9pfs: PDU processing functions don't need to take V9fsState as argument, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 13/27] fsdev: rename virtio-9p-marshal.{c, h} to 9p-iov-marshal.{c, h}, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 18/27] 9pfs: factor out pdu_push_and_notify,
Wei Liu <=
[Qemu-devel] [PATCH v2 17/27] 9pfs: factor out virtio_pdu_{, un}marshal, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 23/27] 9pfs: move handle_9p_output and make it static function, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 27/27] 9pfs: disentangle V9fsState, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 20/27] 9pfs: break out 9p.h from virtio-9p.h, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 25/27] 9pfs: rename virtio-9p.c to 9p.c, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 11/27] fsdev: 9p-marshal: introduce V9fsBlob, Wei Liu, 2016/01/07
[Qemu-devel] [PATCH v2 21/27] 9pfs: factor out virtio_9p_push_and_notify, Wei Liu, 2016/01/07