Kevin Wolf aa1361d54a block: Add missing locking in bdrv_co_drain_bh_cb()
bdrv_do_drained_begin/end() assume that they are called with the
AioContext lock of bs held. If we call drain functions from a coroutine
with the AioContext lock held, we yield and schedule a BH to move out of
coroutine context. This means that the lock for the home context of the
coroutine is released and must be re-acquired in the bottom half.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
2018-09-25 15:50:15 +02:00
..
2017-09-22 14:11:25 +02:00
2017-09-22 14:11:23 +02:00
2017-09-07 19:02:30 +01:00
2018-06-29 12:32:10 +02:00
2018-06-01 16:01:29 +01:00
2018-08-23 18:46:25 +02:00
2018-08-23 18:46:25 +02:00
2018-02-08 09:22:03 +08:00
2018-08-24 20:26:37 +02:00
2018-06-29 12:32:10 +02:00
2017-12-20 22:01:24 +08:00