From: Kevin Wolf <kw...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Reviewed-by: Benoit Canet <ben...@irqsave.net> Reviewed-by: Josh Durgin <josh.dur...@inktank.com> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> --- block/rbd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/block/rbd.c b/block/rbd.c index a78760b..93639f7 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -685,13 +685,16 @@ static BlockDriverAIOCB *rbd_start_aio(BlockDriverState *bs, } if (r < 0) { - goto failed; + goto failed_completion; } return &acb->common; +failed_completion: + rbd_aio_release(c); failed: g_free(rcb); + qemu_vfree(acb->bounce); qemu_aio_release(acb); return NULL; } -- 1.9.3