|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [qemu-xen-4.1-testing] qemu-xen-traditional: QDISK fixes
commit a2d2123a7dfc4d116011d51f48df786a3b853537
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Mon Apr 2 17:55:05 2012 +0100
qemu-xen-traditional: QDISK fixes
- if ioreq->postsync call bdrv_flush when the operation is actually
completed;
- do not increment aio_inflight when not submitting any operations.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
(cherry picked from commit f0fad5549f8103fc0130d3121eb5f7913c5bc2a9)
---
hw/xen_disk.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index b1d6985..5db58ac 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -382,6 +382,8 @@ static void qemu_aio_complete(void *opaque, int ret)
ioreq->aio_inflight--;
if (ioreq->aio_inflight > 0)
return;
+ if (ioreq->postsync)
+ bdrv_flush(ioreq->blkdev->bs);
ioreq->status = ioreq->aio_errors ? BLKIF_RSP_ERROR : BLKIF_RSP_OKAY;
ioreq_unmap(ioreq);
@@ -409,9 +411,9 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
break;
case BLKIF_OP_WRITE:
case BLKIF_OP_WRITE_BARRIER:
- ioreq->aio_inflight++;
if (!ioreq->req.nr_segments)
break;
+ ioreq->aio_inflight++;
bdrv_aio_writev(blkdev->bs, ioreq->start / BLOCK_SIZE,
&ioreq->v, ioreq->v.size / BLOCK_SIZE,
qemu_aio_complete, ioreq);
@@ -421,8 +423,6 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
goto err;
}
- if (ioreq->postsync)
- bdrv_flush(blkdev->bs); /* FIXME: aio_flush() ??? */
qemu_aio_complete(ioreq, 0);
return 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen-4.1-testing.git
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |