[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [STABLE][PATCH 3/4] Fix vectored aio bounce handling im
From: |
Mark McLoughlin |
Subject: |
Re: [Qemu-devel] [STABLE][PATCH 3/4] Fix vectored aio bounce handling immediate errors |
Date: |
Thu, 14 May 2009 12:39:44 +0100 |
On Thu, 2009-05-14 at 11:56 +0100, Mark McLoughlin wrote:
> 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>
Signed-off-by: Mark McLoughlin <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;
> }
>
[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