[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [STABLE][PATCH 3/4] Fix vectored aio bounce handling immedi
From: |
Mark McLoughlin |
Subject: |
[Qemu-devel] [STABLE][PATCH 3/4] Fix vectored aio bounce handling immediate errors |
Date: |
Thu, 14 May 2009 11:56:20 +0100 |
From: Avi Kivity <address@hidden>
If a bounced vectored aio fails immediately (the inner aio submission
returning NULL) then the bounce handler erronously returns an aio
request which will never be completed (and which crashes when cancelled).
Fix by detecting that the inner request has failed and propagating the
error.
Signed-off-by: Avi Kivity <address@hidden>
---
block.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/block.c b/block.c
index 689ea37..b68a8da 100644
--- a/block.c
+++ b/block.c
@@ -1383,6 +1383,11 @@ static BlockDriverAIOCB
*bdrv_aio_rw_vector(BlockDriverState *bs,
s->aiocb = bdrv_aio_read(bs, sector_num, s->bounce, nb_sectors,
bdrv_aio_rw_vector_cb, s);
}
+ if (!s->aiocb) {
+ qemu_vfree(s->bounce);
+ qemu_aio_release(s);
+ return NULL;
+ }
return &s->common;
}
--
1.6.0.6
[Qemu-devel] Re: [STABLE][PATCH 0/4] Rebase more aio dma cancellation work, Avi Kivity, 2009/05/14
Re: [Qemu-devel] [STABLE][PATCH 0/4] Rebase more aio dma cancellation work, Anthony Liguori, 2009/05/14