Ping... https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg02580.html
On Wed, May 13, 2015 at 04:27:30PM +0300, Alberto Garcia wrote: > v7: > - Rebased against the current master > - Updated bdrv_drain_all() to use the new block_job_next() API. > > v6: https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg03046.html > - fix the no-op test following Max's suggestions > > v5: https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg03006.html > - Fix a few typos > - Minor documentation updates > - Update test_stream_partial() to test no-ops > - New test case: test_stream_parallel() > - New test case: test_stream_overlapping() > > v4: https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg01878.html > - Refactor find_block_job to use the error from bdrv_lookup_bs() > - Don't use QERR_DEVICE_IN_USE in block_job_create() since we can be > dealing with nodes now. > - Fix @device comment in the BlockJobInfo documentation > - stream_start(): simplify the bdrv_reopen() call and use > bdrv_get_device_or_node_name() for error messages. > - Use a different variable name for BlockDriverState *i > - Documentation fixes in docs/live-block-ops.txt > - Update iotest 30 since now test_device_not_found() returns > GenericError > - Fix test case test_stream_partial() > - Add new test case test_stream_intermediate() > - Fix typos > > v3: https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg00806.html > - Keep a list of block jobs and make qmp_query_block_jobs() iterate > over it. > > v2: https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg04798.html > - The 'block-stream' command does not have a 'node-name' parameter > anymore and reuses 'device' for that purpose. > - Block jobs can now be owned by any intermediate node, and not just > by the ones at the root. query-block-jobs is updated to reflect that > change. > - The 'device' parameter of all 'block-job-*' commands can now take a > node name. > - The BlockJobInfo type and all BLOCK_JOB_* events report the node > name in the 'device' field if the node does not have a device name. > - All intermediate nodes are blocked (and checked for blockers) during > the streaming operation. > > v1: https://lists.gnu.org/archive/html/qemu-devel/2015-02/msg04116.html > > Regards, > > Berto > > Alberto Garcia (11): > block: keep a list of block jobs > block: allow block jobs in any arbitrary node > block: never cancel a streaming job without running stream_complete() > block: Support streaming to an intermediate layer > block: Add QMP support for streaming to an intermediate layer > docs: Document how to stream to an intermediate layer > qemu-iotests: fix test_stream_partial() > qemu-iotests: add no-op streaming test > qemu-iotests: test streaming to an intermediate layer > qemu-iotests: test block-stream operations in parallel > qemu-iotests: test overlapping block-stream operations > > block.c | 4 +- > block/io.c | 21 +++---- > block/mirror.c | 5 +- > block/stream.c | 44 ++++++++++++-- > blockdev.c | 55 ++++++++--------- > blockjob.c | 31 +++++++--- > docs/live-block-ops.txt | 31 ++++++---- > docs/qmp/qmp-events.txt | 8 +-- > include/block/blockjob.h | 14 +++++ > include/qapi/qmp/qerror.h | 3 - > qapi/block-core.json | 30 +++++---- > tests/qemu-iotests/030 | 148 > ++++++++++++++++++++++++++++++++++++++++++++- > tests/qemu-iotests/030.out | 4 +- > 13 files changed, 304 insertions(+), 94 deletions(-) > > -- > 2.1.4 > >