Re: [Qemu-block] [PATCH COLO-Block v5 00/15] Block replication for continuous checkpoints
Ping... On 05/21/2015 12:52 PM, Wen Congyang wrote: Block replication is a very important feature which is used for continuous checkpoints(for example: COLO). Usage: Please refer to docs/block-replication.txt You can get the patch here: https://github.com/wencongyang/qemu-colo/commits/block-replication-v5 The other newest COLO patchse will be sent soon. TODO: 1. Continuous block replication. It will be started after basic functions are accepted. Changs Log: V5: 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. V4: 1. Introduce a new driver replication to avoid touch nbd and qcow2. V3: 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 V2: 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 (15): docs: block replication's description allow writing to the backing file Allow creating backup jobs when opening BDS block: Parse backing_reference option to reference existing BDS Backup: clear all bitmap when doing block checkpoint Don't allow a disk use backing reference target Add new block driver interface to connect/disconnect the remote target NBD client: implement block driver interfaces to connect/disconnect NBD server Introduce a new -drive option to control whether to connect to remote target NBD client: connect to nbd server later Add new block driver interfaces to control block replication skip nbd_target when starting block replication quorum: implement block driver interfaces for block replication quorum: allow ignoring child errors Implement new driver for block replication block.c| 272 +++- block/Makefile.objs| 3 +- block/backup.c | 13 ++ block/nbd.c| 69 +-- block/quorum.c | 142 ++- block/replication.c| 441 + blockdev.c | 8 + blockjob.c | 10 + docs/block-replication.txt | 179 ++ include/block/block.h | 10 + include/block/block_int.h | 18 ++ include/block/blockjob.h | 12 ++ qapi/block.json| 16 ++ qemu-options.hx| 4 + tests/qemu-iotests/051 | 13 ++ tests/qemu-iotests/051.out | 13 ++ 16 files changed, 1193 insertions(+), 30 deletions(-) create mode 100644 block/replication.c create mode 100644 docs/block-replication.txt
Re: [Qemu-block] [PATCH COLO-Block v5 00/15] Block replication for continuous checkpoints
On 05/21/2015 12:52 PM, Wen Congyang wrote: Block replication is a very important feature which is used for continuous checkpoints(for example: COLO). Usage: Please refer to docs/block-replication.txt You can get the patch here: https://github.com/wencongyang/qemu-colo/commits/block-replication-v5 The other newest COLO patchse will be sent soon. TODO: 1. Continuous block replication. It will be started after basic functions are accepted. I forgot to methin that: you should apply the following patch first: http://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg01317.html Thanks Wen Congyang Changs Log: V5: 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. V4: 1. Introduce a new driver replication to avoid touch nbd and qcow2. V3: 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 V2: 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 (15): docs: block replication's description allow writing to the backing file Allow creating backup jobs when opening BDS block: Parse backing_reference option to reference existing BDS Backup: clear all bitmap when doing block checkpoint Don't allow a disk use backing reference target Add new block driver interface to connect/disconnect the remote target NBD client: implement block driver interfaces to connect/disconnect NBD server Introduce a new -drive option to control whether to connect to remote target NBD client: connect to nbd server later Add new block driver interfaces to control block replication skip nbd_target when starting block replication quorum: implement block driver interfaces for block replication quorum: allow ignoring child errors Implement new driver for block replication block.c| 272 +++- block/Makefile.objs| 3 +- block/backup.c | 13 ++ block/nbd.c| 69 +-- block/quorum.c | 142 ++- block/replication.c| 441 + blockdev.c | 8 + blockjob.c | 10 + docs/block-replication.txt | 179 ++ include/block/block.h | 10 + include/block/block_int.h | 18 ++ include/block/blockjob.h | 12 ++ qapi/block.json| 16 ++ qemu-options.hx| 4 + tests/qemu-iotests/051 | 13 ++ tests/qemu-iotests/051.out | 13 ++ 16 files changed, 1193 insertions(+), 30 deletions(-) create mode 100644 block/replication.c create mode 100644 docs/block-replication.txt
[Qemu-block] [PATCH COLO-Block v5 00/15] Block replication for continuous checkpoints
Block replication is a very important feature which is used for continuous checkpoints(for example: COLO). Usage: Please refer to docs/block-replication.txt You can get the patch here: https://github.com/wencongyang/qemu-colo/commits/block-replication-v5 The other newest COLO patchse will be sent soon. TODO: 1. Continuous block replication. It will be started after basic functions are accepted. Changs Log: V5: 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. V4: 1. Introduce a new driver replication to avoid touch nbd and qcow2. V3: 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 V2: 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 (15): docs: block replication's description allow writing to the backing file Allow creating backup jobs when opening BDS block: Parse backing_reference option to reference existing BDS Backup: clear all bitmap when doing block checkpoint Don't allow a disk use backing reference target Add new block driver interface to connect/disconnect the remote target NBD client: implement block driver interfaces to connect/disconnect NBD server Introduce a new -drive option to control whether to connect to remote target NBD client: connect to nbd server later Add new block driver interfaces to control block replication skip nbd_target when starting block replication quorum: implement block driver interfaces for block replication quorum: allow ignoring child errors Implement new driver for block replication block.c| 272 +++- block/Makefile.objs| 3 +- block/backup.c | 13 ++ block/nbd.c| 69 +-- block/quorum.c | 142 ++- block/replication.c| 441 + blockdev.c | 8 + blockjob.c | 10 + docs/block-replication.txt | 179 ++ include/block/block.h | 10 + include/block/block_int.h | 18 ++ include/block/blockjob.h | 12 ++ qapi/block.json| 16 ++ qemu-options.hx| 4 + tests/qemu-iotests/051 | 13 ++ tests/qemu-iotests/051.out | 13 ++ 16 files changed, 1193 insertions(+), 30 deletions(-) create mode 100644 block/replication.c create mode 100644 docs/block-replication.txt -- 2.1.0