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: <address@hidden>
"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 "$@" )