summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--block/rbd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/block/rbd.c b/block/rbd.c
index a78760b7fe..93639f783c 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;
 }