From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60208) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIs9I-0003e1-Dt for qemu-devel@nongnu.org; Tue, 12 Jan 2016 01:09:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aIs9E-0006HD-Ej for qemu-devel@nongnu.org; Tue, 12 Jan 2016 01:09:44 -0500 Received: from e28smtp02.in.ibm.com ([125.16.236.2]:35830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIs9D-0006Gi-Of for qemu-devel@nongnu.org; Tue, 12 Jan 2016 01:09:40 -0500 Received: from localhost by e28smtp02.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 12 Jan 2016 11:39:37 +0530 Received: from d28relay01.in.ibm.com (d28relay01.in.ibm.com [9.184.220.58]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id 1BD663940062 for ; Tue, 12 Jan 2016 11:39:05 +0530 (IST) Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay01.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u0C68t2H63897752 for ; Tue, 12 Jan 2016 11:38:56 +0530 Received: from d28av04.in.ibm.com (localhost [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u0C68tLk025830 for ; Tue, 12 Jan 2016 11:38:55 +0530 From: "Aneesh Kumar K.V" Date: Tue, 12 Jan 2016 11:38:23 +0530 Message-Id: <1452578912-12546-17-git-send-email-aneesh.kumar@linux.vnet.ibm.com> In-Reply-To: <1452578912-12546-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> References: <1452578912-12546-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 16/25] 9pfs: factor out pdu_push_and_notify List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: peter.maydell@linaro.org Cc: Wei Liu , qemu-devel@nongnu.org, "Aneesh Kumar K.V" From: Wei Liu Signed-off-by: Wei Liu Signed-off-by: Aneesh Kumar K.V --- 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 6d32b81faa25..e97adc8ba3f2 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.5.0