summaryrefslogtreecommitdiff
path: root/block/archipelago.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/archipelago.c')
-rw-r--r--block/archipelago.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/block/archipelago.c b/block/archipelago.c
index 2449cfc702..a624390f07 100644
--- a/block/archipelago.c
+++ b/block/archipelago.c
@@ -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);