qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints
@ 2015-06-30  3:34 Wen Congyang
  2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 01/17] Add new block driver interface to add/delete a BDS's child Wen Congyang
                   ` (19 more replies)
  0 siblings, 20 replies; 49+ messages in thread
From: Wen Congyang @ 2015-06-30  3:34 UTC (permalink / raw)
  To: qemu devel, Fam Zheng, Max Reitz, Paolo Bonzini
  Cc: Kevin Wolf, qemu block, Lai Jiangshan, Jiang Yunhong, Dong Eddie,
	Dr. David Alan Gilbert, Stefan Hajnoczi, Yang Hongyang

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-v7

You can get ths patch with framework here:
https://github.com/wencongyang/qemu-colo/commits/colo_framework_v7.2

TODO:
1. Continuous block replication. It will be started after basic functions
   are accepted.

Changs Log:
V7:
1. Implement adding/removing quorum child. Remove the option non-connect.
2. Simplify the backing refrence option according to Stefan Hajnoczi's suggestion
V6:
1. Rebase to the newest qemu.
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 (17):
  Add new block driver interface to add/delete a BDS's child
  quorum: implement block driver interfaces add/delete a BDS's child
  hmp: add monitor command to add/remove a child
  introduce a new API qemu_opts_absorb_qdict_by_index()
  quorum: allow ignoring child errors
  introduce a new API to enable/disable attach device model
  introduce a new API to check if blk is attached
  block: make bdrv_put_ref_bh_schedule() as a public API
  Backup: clear all bitmap when doing block checkpoint
  allow writing to the backing file
  Allow creating backup jobs when opening BDS
  block: Allow references for backing files
  docs: block replication's description
  Add new block driver interfaces to control block replication
  skip nbd_target when starting block replication
  quorum: implement block driver interfaces for block replication
  Implement new driver for block replication

 block.c                        | 198 +++++++++++++++++-
 block/Makefile.objs            |   3 +-
 block/backup.c                 |  13 ++
 block/block-backend.c          |  33 +++
 block/quorum.c                 | 244 ++++++++++++++++++++++-
 block/replication.c            | 443 +++++++++++++++++++++++++++++++++++++++++
 blockdev.c                     |  90 ++++++---
 blockjob.c                     |  10 +
 docs/block-replication.txt     | 179 +++++++++++++++++
 hmp-commands.hx                |  28 +++
 include/block/block.h          |  11 +
 include/block/block_int.h      |  19 ++
 include/block/blockjob.h       |  12 ++
 include/qemu/option.h          |   2 +
 include/sysemu/block-backend.h |   3 +
 include/sysemu/blockdev.h      |   2 +
 qapi/block.json                |  16 ++
 util/qemu-option.c             |  44 ++++
 18 files changed, 1303 insertions(+), 47 deletions(-)
 create mode 100644 block/replication.c
 create mode 100644 docs/block-replication.txt

-- 
2.4.3

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2015-07-27 14:45 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-30  3:34 [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 01/17] Add new block driver interface to add/delete a BDS's child Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 02/17] quorum: implement block driver interfaces " Wen Congyang
2015-07-02 14:02   ` Alberto Garcia
2015-07-02 14:30     ` Wen Congyang
2015-07-02 15:21       ` Alberto Garcia
2015-07-03  1:10         ` Wen Congyang
2015-07-27 14:45         ` Eric Blake
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 03/17] hmp: add monitor command to add/remove a child Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 04/17] introduce a new API qemu_opts_absorb_qdict_by_index() Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 05/17] quorum: allow ignoring child errors Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 06/17] introduce a new API to enable/disable attach device model Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 07/17] introduce a new API to check if blk is attached Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 08/17] block: make bdrv_put_ref_bh_schedule() as a public API Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 09/17] Backup: clear all bitmap when doing block checkpoint Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 10/17] allow writing to the backing file Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 11/17] Allow creating backup jobs when opening BDS Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 12/17] block: Allow references for backing files Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 13/17] docs: block replication's description Wen Congyang
2015-07-02 14:50   ` Michael R. Hines
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 14/17] Add new block driver interfaces to control block replication Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 15/17] skip nbd_target when starting " Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 16/17] quorum: implement block driver interfaces for " Wen Congyang
2015-07-03 12:21   ` Alberto Garcia
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 17/17] Implement new driver " Wen Congyang
2015-07-02 14:47 ` [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints Michael R. Hines
2015-07-03  1:13   ` Wen Congyang
2015-07-02 14:59 ` Michael R. Hines
2015-07-03  1:12   ` Wen Congyang
2015-07-03 15:30 ` Dr. David Alan Gilbert
2015-07-04 12:46   ` Wen Congyang
2015-07-06  9:42     ` Dr. David Alan Gilbert
2015-07-06 10:11       ` Wen Congyang
2015-07-07  0:25     ` Michael R. Hines
2015-07-07  1:07       ` Wen Congyang
2015-07-07  9:13         ` Dr. David Alan Gilbert
2015-07-07  9:23           ` Paolo Bonzini
2015-07-07 16:56             ` Michael R. Hines
2015-07-08  1:38               ` Wen Congyang
2015-07-08 15:49                 ` Michael R. Hines
2015-07-09  0:59                   ` Wen Congyang
2015-07-09  1:55                     ` Dr. David Alan Gilbert
2015-07-09  2:09                       ` Wen Congyang
2015-07-09  9:16                         ` Dr. David Alan Gilbert
2015-07-09  9:33                           ` Wen Congyang
2015-07-09 10:37                             ` Dr. David Alan Gilbert
2015-07-09 10:57                               ` Wen Congyang
2015-07-09 13:40                                 ` Dr. David Alan Gilbert
2015-07-09 13:48                                   ` Wen Congyang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).