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-el13635@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(-) -- 2.11.0
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-el13635@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(-) > > -- > 2.11.0 > Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
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-el13635@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 "$@" )
On Tue, Sep 26, 2017 at 12:00:24PM +0100, Stefan Hajnoczi wrote: >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-el13635@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 "$@" ) > Hey Stefan, This is fixed in >> Based-on: <20170918202529.28379-1-el13635@mail.ntua.gr> >> "block/throttle-groups.c: allocate RestartData on the heap" >> Which fixes a coroutine crash in block/throttle-groups.c Which I sent before this series and is in Kevin's branch.
Am 26.09.2017 um 14:44 hat Manos Pitsidianakis geschrieben: > On Tue, Sep 26, 2017 at 12:00:24PM +0100, Stefan Hajnoczi wrote: > > 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-el13635@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 "$@" ) > > > > Hey Stefan, > > This is fixed in > > > Based-on: <20170918202529.28379-1-el13635@mail.ntua.gr> > > > "block/throttle-groups.c: allocate RestartData on the heap" > > > Which fixes a coroutine crash in block/throttle-groups.c > > Which I sent before this series and is in Kevin's branch. Stefan, the fix is in master by now, so you can stage this series again. (Or I can take it, if you prefer.) Kevin
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-el13635@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(-) > > -- > 2.11.0 > > Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
© 2016 - 2024 Red Hat, Inc.