Re: [PATCH 3/3] block: Fix deadlock in bdrv_co_yield_to_drain()

2020-12-08 Thread Kevin Wolf
Am 08.12.2020 um 16:33 hat Vladimir Sementsov-Ogievskiy geschrieben: > 03.12.2020 20:23, Kevin Wolf wrote: > > If bdrv_co_yield_to_drain() is called for draining a block node that > > runs in a different AioContext, it keeps that AioContext locked while it > > yields and schedules a BH in the AioCo

Re: [PATCH 3/3] block: Fix deadlock in bdrv_co_yield_to_drain()

2020-12-08 Thread Vladimir Sementsov-Ogievskiy
03.12.2020 20:23, Kevin Wolf wrote: If bdrv_co_yield_to_drain() is called for draining a block node that runs in a different AioContext, it keeps that AioContext locked while it yields and schedules a BH in the AioContext to do the actual drain. As long as executing the BH is the very next thing

[PATCH 3/3] block: Fix deadlock in bdrv_co_yield_to_drain()

2020-12-03 Thread Kevin Wolf
If bdrv_co_yield_to_drain() is called for draining a block node that runs in a different AioContext, it keeps that AioContext locked while it yields and schedules a BH in the AioContext to do the actual drain. As long as executing the BH is the very next thing the event loop of the node's AioConte