On Sat, Sep 23, 2017 at 02:14:08PM +0300, Manos Pitsidianakis wrote: > This patch series renames bdrv_co_drain to bdrv_co_drain_begin and adds a new > bdrv_co_drain_end callback to match bdrv_drained_begin/end and > drained_begin/end of BdrvChild. This is needed because the throttle driver > (block/throttle.c) needs a way to mark the end of the drain in order to > toggle > io_limits_disabled correctly. > > Based-on: <20170918202529.28379-1-el13...@mail.ntua.gr> > "block/throttle-groups.c: allocate RestartData on the heap" > Which fixes a coroutine crash in block/throttle-groups.c > > v3: > fixed commit message typo in first patch [Fam] > rephrased doc comment based on mailing discussion > v2: > add doc for callbacks and change order of request polling for completion > [Stefan] > > Manos Pitsidianakis (3): > block: add bdrv_co_drain_end callback > block: rename bdrv_co_drain to bdrv_co_drain_begin > block/throttle.c: add bdrv_co_drain_begin/end callbacks > > include/block/block_int.h | 13 ++++++++++--- > block/io.c | 48 > +++++++++++++++++++++++++++++++++-------------- > block/qed.c | 6 +++--- > block/throttle.c | 18 ++++++++++++++++++ > 4 files changed, 65 insertions(+), 20 deletions(-)
Oops, this seems to cause a qemu-iotests failure. Please take a look: $ ./check -qcow2 184 184 0s ... - output mismatch (see 184.out.bad) --- /home/stefanha/qemu/tests/qemu-iotests/184.out 2017-09-19 14:51:46.673854437 +0100 +++ 184.out.bad 2017-09-26 11:13:06.946610239 +0100 @@ -142,6 +142,9 @@ "guest": false } } +./common.config: line 118: 9196 Segmentation fault (core dumped) ( if [ -n "${QEMU_NEED_PID}" ]; then + echo $BASHPID > "${QEMU_TEST_DIR}/qemu-${_QEMU_HANDLE}.pid"; +fi; exec "$QEMU_PROG" $QEMU_OPTIONS "$@" )