From: Hanna Czenczek Date: Mon, 10 Nov 2025 15:48:50 +0000 (+0100) Subject: blkreplay: Run BH in coroutine’s AioContext X-Git-Tag: v10.2.0-rc1~5^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b0cc742f8475398467eaf85f1d3692d215465327;p=thirdparty%2Fqemu.git blkreplay: Run BH in coroutine’s AioContext 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 Message-ID: <20251110154854.151484-16-hreitz@redhat.com> Reviewed-by: Kevin Wolf Signed-off-by: Kevin Wolf --- 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); }