[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 15/20] rbd: Handle failure for potentially la
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 15/20] rbd: Handle failure for potentially large allocations |
Date: |
Fri, 30 May 2014 11:33:27 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Kevin Wolf <address@hidden> writes:
> 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 rbd block driver.
>
> Signed-off-by: Kevin Wolf <address@hidden>
> Reviewed-by: Stefan Hajnoczi <address@hidden>
> ---
> block/rbd.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/block/rbd.c b/block/rbd.c
> index dbc79f4..2ac65a8 100644
> --- a/block/rbd.c
> +++ b/block/rbd.c
> @@ -630,7 +630,10 @@ static BlockDriverAIOCB *rbd_start_aio(BlockDriverState
> *bs,
> if (cmd == RBD_AIO_DISCARD || cmd == RBD_AIO_FLUSH) {
> acb->bounce = NULL;
> } else {
> - acb->bounce = qemu_blockalign(bs, qiov->size);
> + acb->bounce = qemu_try_blockalign(bs, qiov->size);
> + if (acb->bounce == NULL) {
> + goto failed;
> + }
> }
> acb->ret = 0;
> acb->error = 0;
/work/armbru/qemu/block/rbd.c: In function ‘rbd_start_aio’:
/work/armbru/qemu/block/rbd.c:696:11: warning: ‘rcb’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
g_free(rcb);
^
Fix is obvious: initialize it to null.
- [Qemu-devel] [PATCH v2 08/20] nfs: Handle failure for potentially large allocations, (continued)
- [Qemu-devel] [PATCH v2 08/20] nfs: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 09/20] parallels: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 10/20] qcow1: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 11/20] qcow2: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 12/20] qed: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 13/20] raw-posix: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 14/20] raw-win32: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 15/20] rbd: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- Re: [Qemu-devel] [PATCH v2 15/20] rbd: Handle failure for potentially large allocations,
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 16/20] vdi: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 17/20] vhdx: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 18/20] vmdk: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 19/20] vpc: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- [Qemu-devel] [PATCH v2 20/20] mirror: Handle failure for potentially large allocations, Kevin Wolf, 2014/05/28
- Re: [Qemu-devel] [PATCH v2 00/20] block: Handle failure for potentially large allocations, Markus Armbruster, 2014/05/30