While it does not matter in which AioContext we run aio_co_wake() to continue an exactly-once-yielding coroutine, making this commit not strictly necessary, there is also no reason why the BH should run in any context but the request’s AioContext.
Signed-off-by: Hanna Czenczek <[email protected]> --- block/blkreplay.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/blkreplay.c b/block/blkreplay.c index 16d8b12dd9..8a6845425e 100644 --- a/block/blkreplay.c +++ b/block/blkreplay.c @@ -63,9 +63,10 @@ static void block_request_create(uint64_t reqid, BlockDriverState *bs, Coroutine *co) { Request *req = g_new(Request, 1); + AioContext *ctx = qemu_coroutine_get_aio_context(co); *req = (Request) { .co = co, - .bh = aio_bh_new(bdrv_get_aio_context(bs), blkreplay_bh_cb, req), + .bh = aio_bh_new(ctx, blkreplay_bh_cb, req), }; replay_block_event(req->bh, reqid); } -- 2.51.1
