Am 26.05.2025 um 15:21 hat Fiona Ebner geschrieben:
> This is part of resolving the deadlock mentioned in commit "block:
> move draining out of bdrv_change_aio_context() and mark GRAPH_RDLOCK".
> 
> bdrv_root_unref_child() is called by:
> 1. blk_remove_bs(), where a drained section is introduced.
> 2. bdrv_unref_child(), which runs under the graph lock, so the drain
>    will be moved further up to its callers.
> 3. block_job_remove_all_bdrv(), where a drained section is introduced.
> 
> For all callers of bdrv_unref_child() a drained section is introduced,
> they are not explicilty listed here. The caller quorum_del_child()
> holds the graph lock, so it is not actually allowed to drain. This
> will be addressed in the next commit.
> 
> Signed-off-by: Fiona Ebner <f.eb...@proxmox.com>

What about bdrv_co_unref_child()? You probably missed it because it's
generated code, but we probably need to drain around those callers, too.

And as usual, we need comments for bdrv_root_unref_child() and
bdrv_unref_child().

Kevin


Reply via email to