[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/9] block: generic image streaming
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v3 0/9] block: generic image streaming |
Date: |
Tue, 13 Dec 2011 13:52:22 +0000 |
This series adds the 'block_stream' command which copies the contents of a
backing file into the image file while the VM is running. The series builds on
copy-on-read and zero detection features which I sent out recently and I
suggest grabbing my git tree to try it out without merging these dependencies
yourself:
http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/image-streaming-api
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.
Stefan Hajnoczi (9):
coroutine: add co_sleep_ns() coroutine sleep function
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
test: add image streaming test cases
Makefile.objs | 3 +-
block/stream.c | 174 ++++++++++++++++++++++++++++++++++++++++
block_int.h | 86 ++++++++++++++++++++
blockdev.c | 143 +++++++++++++++++++++++++++++++++
hmp-commands.hx | 41 ++++++++++
hmp.c | 81 +++++++++++++++++++
hmp.h | 4 +
monitor.c | 13 +++
monitor.h | 2 +
qapi-schema.json | 144 +++++++++++++++++++++++++++++++++
qemu-coroutine-sleep.c | 38 +++++++++
qemu-coroutine.h | 6 ++
qerror.c | 4 +
qerror.h | 3 +
qmp-commands.hx | 93 +++++++++++++++++++++
test-stream.py | 208 ++++++++++++++++++++++++++++++++++++++++++++++++
trace-events | 9 ++
17 files changed, 1051 insertions(+), 1 deletions(-)
create mode 100644 block/stream.c
create mode 100644 qemu-coroutine-sleep.c
create mode 100644 test-stream.py
--
1.7.7.3
- [Qemu-devel] [PATCH v3 0/9] block: generic image streaming,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH v3 1/9] coroutine: add co_sleep_ns() coroutine sleep function, Stefan Hajnoczi, 2011/12/13
- [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Stefan Hajnoczi, 2011/12/13
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Kevin Wolf, 2011/12/14
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Stefan Hajnoczi, 2011/12/15
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Kevin Wolf, 2011/12/15
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Luiz Capitulino, 2011/12/15
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Stefan Hajnoczi, 2011/12/15
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Luiz Capitulino, 2011/12/15
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Kevin Wolf, 2011/12/15
- Re: [Qemu-devel] [PATCH v3 8/9] qmp: add query-block-jobs, Stefan Hajnoczi, 2011/12/15