Am 28.10.2025 um 17:33 hat Hanna Czenczek geschrieben:
> The request coroutine may not run in the BDS AioContext.  We should wake
> it in its own context, not move it.
> 
> With that, we can remove GlusterAIOCB.aio_context.
> 
> Also add a comment why aio_co_schedule() is safe to use in this way.
> 
> **Note:** Due to a lack of a gluster set-up, I have not tested this
> commit.  It seemed safe enough to send anyway, just maybe not to
> qemu-stable.  To be clear, I don’t know of any user-visible bugs that
> would arise from the state without this patch; the request coroutine is
> moved into the main BDS AioContext, which feels wrong, but I’m not sure
> whether it can actually produce hard bugs.

Doesn't moving into a different AioContext mean that everything down to
the AIO callback in the guest device runs in a different thread? That's
definitely a big no-no for virtio-scsi, and I think also for virtio-blk.

> I’ll leave it to others’ opinions whether to keep or drop this patch
> under these circumstances.
> 
> Signed-off-by: Hanna Czenczek <[email protected]>

It looks trivially correct (famous last words...) and the bugs not
unlikely to be hit, so I'd say keep it.

I have no idea if the gluster library is actually thread safe, but if it
isn't, that breaks before gluster_finish_aiocb(). After reentering the
coroutine, the library isn't called any more.

Kevin


Reply via email to