qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-block] [PATCH v3 0/6] Support streaming to an int


From: Max Reitz
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH v3 0/6] Support streaming to an intermediate layer
Date: Wed, 15 Apr 2015 18:27:54 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

On 08.04.2015 16:43, Alberto Garcia wrote:
There's only one change in this series: there's now a list of block
jobs that is updated everytime a new one is created or destroyed.

This way we can iterate the list directly, rather than searching all
BlockDriverStates for the ones that own a block job.

Otherwise please check the summary I wrote for the previous series,
because the rest of the changes are detailed there:

    https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg04798.html

v3:
- 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.

Regards,

Berto

Alberto Garcia (6):
   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

  block.c                   |  4 +++-
  block/mirror.c            |  5 +++--
  block/stream.c            | 47 ++++++++++++++++++++++++++++++++++++-----
  blockdev.c                | 53 ++++++++++++++++++++++-------------------------
  blockjob.c                | 30 ++++++++++++++++++++-------
  docs/live-block-ops.txt   | 32 +++++++++++++++++-----------
  docs/qmp/qmp-events.txt   |  8 +++----
  include/block/blockjob.h  | 14 +++++++++++++
  include/qapi/qmp/qerror.h |  3 ---
  qapi/block-core.json      | 28 ++++++++++++++-----------
  10 files changed, 149 insertions(+), 75 deletions(-)

The concept of the series looks good to me. Would you mind adding some test cases, though?

Max



reply via email to

[Prev in Thread] Current Thread [Next in Thread]