mbox series

[0/3] block: Fix block_resize deadlock with iothreads

Message ID 20201203172311.68232-1-kwolf@redhat.com (mailing list archive)
Headers show
Series block: Fix block_resize deadlock with iothreads | expand

Message

Kevin Wolf Dec. 3, 2020, 5:23 p.m. UTC
The conversion of qmp_block_resize() to coroutines exposed a preexisting
locking bug in the drain implementation that can cause deadlocks.

As it happens, fixing this bug reveals in turn that the locking in
qmp_block_resize() itself is incomplete, too.

Kevin Wolf (3):
  block: Simplify qmp_block_resize() error paths
  block: Fix locking in qmp_block_resize()
  block: Fix deadlock in bdrv_co_yield_to_drain()

 block/io.c | 41 ++++++++++++++++++++++++-----------------
 blockdev.c | 12 +++++++-----
 2 files changed, 31 insertions(+), 22 deletions(-)