On Fri, 27 Jan 2023 02:59:11 -0800, Dylan Yudaken wrote:
Drain requests all go through io_drain_req, which has a quick exit in case there is nothing pending (ie the drain is not useful). In that case it can run the issue the request immediately.
However for safety it queues it through task work. The problem is that in this case the request is run asynchronously, but the async work has not been prepared through io_req_prep_async.
[...]
Applied, thanks!
[1/1] io_uring: always prep_async for drain requests commit: ef5c600adb1d985513d2b612cc90403a148ff287
Best regards,