]> git.proxmox.com Git - mirror_qemu.git/blobdiff - block/archipelago.c
block: explicitly acquire aiocontext in bottom halves that need it
[mirror_qemu.git] / block / archipelago.c
index 2449cfc702b70317d072cdc3f701a50a0eaaad5e..a624390f073a3ce576f2060efa5f828e30f23c25 100644 (file)
@@ -310,8 +310,11 @@ static void qemu_archipelago_complete_aio(void *opaque)
 {
     AIORequestData *reqdata = (AIORequestData *) opaque;
     ArchipelagoAIOCB *aio_cb = (ArchipelagoAIOCB *) reqdata->aio_cb;
+    AioContext *ctx = bdrv_get_aio_context(aio_cb->common.bs);
 
+    aio_context_acquire(ctx);
     aio_cb->common.cb(aio_cb->common.opaque, aio_cb->ret);
+    aio_context_release(ctx);
     aio_cb->status = 0;
 
     qemu_aio_unref(aio_cb);