Am 26.01.2023 um 18:24 hat Kevin Wolf geschrieben: > bdrv_open*() must not be called from coroutine context, amongst others > because it modifies the block graph. However, some functions - in > particular all .bdrv_co_create* implementations of image formats - do > call it from coroutine context. This is already wrong today, but when we > add locking, it actually becomes visible. > > This series adds no_co_wrapper functions, which are automatically > generated wrappers that run in coroutine context and use a BH to call > the wrapped function outside of coroutine context. It then uses these > wrappers to fix the problematic bdrv_open*() calls.
Thanks for the review, fixed up the missing coroutine_fn in patch 3 (as pointed out by Emanuele) and applied to the block branch. Kevin