qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6 00/16] block: generic image streaming


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH v6 00/16] block: generic image streaming
Date: Thu, 19 Jan 2012 15:53:19 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111115 Thunderbird/8.0

Am 18.01.2012 15:40, schrieb Stefan Hajnoczi:
> This series adds the 'block_stream' command which copies the contents of a
> backing file into the image file while the VM is running.  These patches are
> based on Kevin Wolf's block tree.  Previously this series was based on the 
> zero
> detection series but Kevin pointed out there is no hard dependency, so they 
> are
> now independent.
> 
> The image streaming HMP/QMP commands are documented in the patch and also
> described here:
> 
> http://wiki.qemu.org/Features/LiveBlockMigration/ImageStreamingAPI
> 
> The basic idea is to execute 'block_stream virtio0' while the guest is 
> running.
> Progress can be monitored using 'info block-jobs'.  When the streaming
> operation completes it raises a QMP event.
> 
> Note: The last patch includes includes a Python test script called
> test-stream.py, I do not propose to merge it.  When run in a QEMU source tree
> it performs basic image streaming QMP tests.
> 
> v6:
>  * Use per-request copy-on-read when doing partial streaming [Kevin]
> 
> v5:
>  * Handle block_job_create() failure [Luiz]
>  * Mark BLOCK_JOB_COMPLETED error field optional [Luiz]
>  * Mark block_stream base parameter optional [Luiz]
>  * Check bdrv_getlength() failure and don't call twice [Kevin]
>  * Rename "id" to "backing_file" in bdrv_find_backing_image() [Kevin]
>  * Rename BaseIdNotFound qerror to BaseNotFound [Kevin]
>  * Document BaseNotFound qerror from block_stream
>  * Document that qemu_co_sleep_ns() needs main loop [Kevin]
>  * Make bdrv_co_is_allocated_base() private to block/stream.c [Kevin]
>  * Clean up commit messages
> 
> v4:
>  * Drop SQMP/EQMP docs from qmp-commands.hx [Luiz]
>  * Follow QAPI doc conventions [Luiz]
>  * Document QMP events in QMP/qmp-events.txt [Luiz]
>  * Protect against hotplug, resize, eject, etc [Kevin]
>  * Move block job functions from header to block.c [Kevin]
>  * Return error from bdrg_change_backing_file() [Kevin]
>  * Merge Marcelo's block_stream base partial streaming series [Marcelo]
> 
> Luiz has reviewed the QMP/QAPI parts, which remain unchanged from v5.
> 
> Acked-by: Luiz Capitulino <address@hidden>
> 
> Marcelo Tosatti (4):
>   block: add bdrv_find_backing_image
>   add QERR_BASE_NOT_FOUND
>   block: add support for partial streaming
>   docs: describe live block operations
> 
> Stefan Hajnoczi (12):
>   coroutine: add co_sleep_ns() coroutine sleep function
>   block: check bdrv_in_use() before blockdev operations
>   block: make copy-on-read a per-request flag
>   block: add BlockJob interface for long-running operations
>   block: add image streaming block job
>   block: rate-limit streaming operations
>   qmp: add block_stream command
>   qmp: add block_job_set_speed command
>   qmp: add block_job_cancel command
>   qmp: add query-block-jobs
>   blockdev: make image streaming safe across hotplug
>   test: add image streaming test cases
> 
>  Makefile.objs           |    2 +
>  QMP/qmp-events.txt      |   53 +++++++++
>  block.c                 |  119 +++++++++++++++++++--
>  block.h                 |    4 +
>  block/stream.c          |  269 
> +++++++++++++++++++++++++++++++++++++++++++++++
>  block_int.h             |   47 ++++++++
>  blockdev.c              |  199 ++++++++++++++++++++++++++++++++++-
>  docs/live-block-ops.txt |   58 ++++++++++
>  hmp-commands.hx         |   41 +++++++
>  hmp.c                   |   68 ++++++++++++
>  hmp.h                   |    4 +
>  monitor.c               |   13 +++
>  monitor.h               |    2 +
>  qapi-schema.json        |  116 ++++++++++++++++++++
>  qemu-coroutine-sleep.c  |   38 +++++++
>  qemu-coroutine.h        |    9 ++
>  qerror.c                |    8 ++
>  qerror.h                |    6 +
>  qmp-commands.hx         |   24 ++++
>  test-stream.py          |  208 ++++++++++++++++++++++++++++++++++++
>  trace-events            |   12 ++-
>  21 files changed, 1287 insertions(+), 13 deletions(-)
>  create mode 100644 block/stream.c
>  create mode 100644 docs/live-block-ops.txt
>  create mode 100644 qemu-coroutine-sleep.c
>  create mode 100644 test-stream.py
> 

Thanks, applied all to the block branch.

Kevin



reply via email to

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