This reverts the recent fix for the case of qemu-iotests 200 (block job
completion races when using a separate I/O thread) that only fixed a
symptom and caused many regressions, and replaces it with a new
solution that hopefully attacks the right root cause.
The series also contains a bonus fix for a bug that was uncovered by the
different timing with the patches that are reverted here.
Kevin Wolf (4):
Revert "coroutine: abort if we try to schedule or enter a pending
coroutine"
Revert "blockjob: do not allow coroutine double entry or
entry-after-completion"
coroutine: Cancel aio_co_schedule() on direct entry
block: Expect graph changes in bdrv_parent_drained_begin/end
include/block/blockjob_int.h | 3 +--
include/qemu/coroutine_int.h | 14 ++++----------
block/io.c | 8 ++++----
blockjob.c | 7 ++-----
util/async.c | 26 +++++++++++++-------------
util/qemu-coroutine-sleep.c | 12 ------------
util/qemu-coroutine.c | 31 +++++++++++++++++--------------
7 files changed, 41 insertions(+), 60 deletions(-)
--
2.13.6