Re: [Qemu-block] [PATCH COLO-Block v5 00/15] Block replication for continuous checkpoints

2015-05-27 Thread Wen Congyang
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

2015-05-21 Thread Wen Congyang
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

2015-05-20 Thread Wen Congyang
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