Re: [Qemu-block] [PATCH v3 0/3] add bdrv_co_drain_begin/end BlockDriver callbacks
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(-) > > -- > 2.11.0 > > Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
Re: [Qemu-block] [PATCH v3 0/3] add bdrv_co_drain_begin/end BlockDriver callbacks
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-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 "$@" ) Hey Stefan, This is fixed in 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 Which I sent before this series and is in Kevin's branch. signature.asc Description: PGP signature
Re: [Qemu-block] [PATCH v3 0/3] add bdrv_co_drain_begin/end BlockDriver callbacks
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 "$@" )
Re: [Qemu-block] [PATCH v3 0/3] add bdrv_co_drain_begin/end BlockDriver callbacks
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(-) > > -- > 2.11.0 > Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
[Qemu-block] [PATCH v3 0/3] add bdrv_co_drain_begin/end BlockDriver callbacks
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(-) -- 2.11.0