summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block/throttle-groups.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/block/throttle-groups.c b/block/throttle-groups.c
index 890bfded3f..8f5b445eff 100644
--- a/block/throttle-groups.c
+++ b/block/throttle-groups.c
@@ -392,17 +392,19 @@ static void coroutine_fn throttle_group_restart_queue_entry(void *opaque)
schedule_next_request(blk, is_write);
qemu_mutex_unlock(&tg->lock);
}
+
+ g_free(data);
}
static void throttle_group_restart_queue(BlockBackend *blk, bool is_write)
{
Coroutine *co;
- RestartData rd = {
- .blk = blk,
- .is_write = is_write
- };
+ RestartData *rd = g_new0(RestartData, 1);
+
+ rd->blk = blk;
+ rd->is_write = is_write;
- co = qemu_coroutine_create(throttle_group_restart_queue_entry, &rd);
+ co = qemu_coroutine_create(throttle_group_restart_queue_entry, rd);
aio_co_enter(blk_get_aio_context(blk), co);
}