mbox series

[for-5.0,v2,0/3] block: Fix blk->in_flight during blk_wait_while_drained()

Message ID 20200406171403.6761-1-kwolf@redhat.com (mailing list archive)
Headers show
Series block: Fix blk->in_flight during blk_wait_while_drained() | expand

Message

Kevin Wolf April 6, 2020, 5:14 p.m. UTC
This fixes deadlocks when draining a BlockBackend in an iothread that
receives new requests at the same time.

v2:
- Rework the whole thing so that direct callers of blk_co_*() aren't
  broken after the series [Max]

Kevin Wolf (3):
  block-backend: Reorder flush/pdiscard function definitions
  block: Increase BB.in_flight for coroutine interfaces
  block: Fix blk->in_flight during blk_wait_while_drained()

 include/sysemu/block-backend.h |   1 -
 block/block-backend.c          | 199 +++++++++++++++++++++------------
 2 files changed, 125 insertions(+), 75 deletions(-)