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