[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v14 0/8] Block replication for continuous checkp
Re: [Qemu-block] [PATCH v14 0/8] Block replication for continuous checkpoints
Tue, 19 Jan 2016 09:27:26 +0800
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
It seems that there is no feedback for a long time, we hope COLO prototype could
be merged in QEMU 2.6, it depends on this series, so please help us.
On 2016/1/14 9:12, Changlong Xie wrote:
It seems i missed someone in CC list, add them.
On 01/13/2016 05:18 PM, Changlong Xie wrote:
Block replication is a very important feature which is used for
continuous checkpoints(for example: COLO).
You can get the detailed information about block replication from here:
Please refer to docs/block-replication.txt
This patch series is based on the following patch series:
You can get the patch here:
You can get the patch with framework here:
1. Continuous block replication. It will be started after basic functions
1. Implement auto complete active commit
2. Implement active commit block job for replication.c
3. Address the comments from Stefan, add replication-specific API and data
structure, also remove old block layer APIs
1. Rebase to the newest codes
2. Remove redundant marcos and semicolon in replication.c
3. Fix typos in block-replication.txt
1. Rebase to the newest codes
2. Use backing reference to replcace 'allow-write-backing-file'
1. Reopen the backing file when starting blcok replication if it is not
opened in R/W mode
2. Unblock BLOCK_OP_TYPE_BACKUP_SOURCE and BLOCK_OP_TYPE_BACKUP_TARGET
when opening backing file
3. Block the top BDS so there is only one block job for the top BDS and
its backing chain.
1. Use blockdev-remove-medium and blockdev-insert-medium to replace backing
2. Address the comments from Eric Blake
1. Update the error messages
2. Rebase to the newest qemu
3. Split child add/delete support. These patches are sent in another patchset.
1. Address Alberto Garcia's comments
1. Implement adding/removing quorum child. Remove the option non-connect.
2. Simplify the backing refrence option according to Stefan Hajnoczi's
1. Rebase to the newest qemu.
1. Address the comments from Gong Lei
2. Speed the failover up. The secondary vm can take over very quickly even
if there are too many I/O requests.
1. Introduce a new driver replication to avoid touch nbd and qcow2.
1: use error_setg() instead of error_set()
2. Add a new block job API
3. Active disk, hidden disk and nbd target uses the same AioContext
4. Add a testcase to test new hbitmap API
1. Redesign the secondary qemu(use image-fleecing)
2. Use Error objects to return error message
3. Address the comments from Max Reitz and Eric Blake
Wen Congyang (8):
unblock backup operations in backing file
Store parent BDS in BdrvChild
Backup: clear all bitmap when doing block checkpoint
Allow creating backup jobs when opening BDS
docs: block replication's description
auto complete active commit
Implement new driver for block replication
support replication driver in blockdev-add
block.c | 19 ++
block/Makefile.objs | 3 +-
block/backup.c | 14 +
block/mirror.c | 13 +-
block/replication-comm.c | 66 +++++
block/replication.c | 590 +++++++++++++++++++++++++++++++++++++++
blockdev.c | 2 +-
blockjob.c | 11 +
docs/block-replication.txt | 229 +++++++++++++++
include/block/block_int.h | 4 +-
include/block/blockjob.h | 12 +
include/block/replication-comm.h | 50 ++++
qapi/block-core.json | 33 ++-
qemu-img.c | 2 +-
14 files changed, 1038 insertions(+), 10 deletions(-)
create mode 100644 block/replication-comm.c
create mode 100644 block/replication.c
create mode 100644 docs/block-replication.txt
create mode 100644 include/block/replication-comm.h