qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 13/21] raw-posix: Handle failure for potentia


From: Benoît Canet
Subject: Re: [Qemu-devel] [PATCH v4 13/21] raw-posix: Handle failure for potentially large allocations
Date: Thu, 5 Jun 2014 16:57:08 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

The Thursday 05 Jun 2014 à 15:36:25 (+0200), Kevin Wolf wrote :
> Some code in the block layer makes potentially huge allocations. Failure
> is not completely unexpected there, so avoid aborting qemu and handle
> out-of-memory situations gracefully.
> 
> This patch addresses the allocations in the raw-posix block driver.
> 
> Signed-off-by: Kevin Wolf <address@hidden>
> Reviewed-by: Stefan Hajnoczi <address@hidden>
> ---
>  block/raw-posix.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index b7f0f26..0cdf957 100644
> --- a/block/raw-posix.c
> +++ b/block/raw-posix.c
> @@ -753,7 +753,11 @@ static ssize_t handle_aiocb_rw(RawPosixAIOData *aiocb)
>       * Ok, we have to do it the hard way, copy all segments into
>       * a single aligned buffer.
>       */
> -    buf = qemu_blockalign(aiocb->bs, aiocb->aio_nbytes);
> +    buf = qemu_try_blockalign(aiocb->bs, aiocb->aio_nbytes);
> +    if (buf == NULL) {
> +        return -ENOMEM;
> +    }
> +
>      if (aiocb->aio_type & QEMU_AIO_WRITE) {
>          char *p = buf;
>          int i;
> -- 
> 1.8.3.1
> 
> 
Reviewed-by: Benoit Canet <address@hidden>



reply via email to

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