|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [qemu-xen-unstable] Fix vectored aio bounce handling imm
commit 090a34b30e3de1e573aaa9c966a8096567a7e8a7
Author: aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Date: Sat Mar 28 16:11:20 2009 +0000
Fix vectored aio bounce handling immediate errors (Avi Kivity)
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 <avi@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6892
c046a42c-6fe2-441c-8c8c-71466251a162
(cherry picked from commit c240b9af599d20e06a58090366be682684bd8555)
---
block.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/block.c b/block.c
index 701a56b..c3c44a9 100644
--- a/block.c
+++ b/block.c
@@ -1414,6 +1414,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;
}
--
generated by git-patchbot for /home/xen/git/qemu-xen-unstable.git
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [qemu-xen-unstable] Fix vectored aio bounce handling immediate errors (Avi Kivity),
Ian Jackson <=
|
|
|
|
|