qemu-devel
[Top][All Lists]
Advanced

[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;
>  }
>  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]