From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35867) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YdyMk-000506-AC for qemu-devel@nongnu.org; Fri, 03 Apr 2015 05:58:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YdyMh-0003U7-2r for qemu-devel@nongnu.org; Fri, 03 Apr 2015 05:58:18 -0400 From: Wen Congyang Date: Fri, 3 Apr 2015 18:01:06 +0800 Message-ID: <1428055280-12015-1-git-send-email-wency@cn.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH COLO v3 00/14] Block replication for continuous checkpoints List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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-v3 You can get the patch with the other COLO patches here: https://github.com/wencongyang/qemu-colo/tree/colo_huawei_v4.4 Changs Log: 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 (14): docs: block replication's description quorum: allow ignoring child errors NBD client: connect to nbd server later Add new block driver interfaces to control block replication quorum: implement block driver interfaces for block replication NBD client: implement block driver interfaces for block replication allow writing to the backing file Allow creating backup jobs when opening BDS block: Parse "backing_reference" option to reference existing BDS util/hbitmap: Add an API to reset all set bits in hbitmap Backup: clear all bitmap when doing block checkpoint qcow2: support colo skip nbd_target when starting block replication Don't allow a disk use backing reference target block.c | 246 +++++++++++++++++++++++- block/backup.c | 13 ++ block/nbd.c | 171 +++++++++++++++-- block/qcow2.c | 454 ++++++++++++++++++++++++++++++++++++++++++++- block/qcow2.h | 6 + block/quorum.c | 141 +++++++++++++- blockjob.c | 10 + docs/block-replication.txt | 153 +++++++++++++++ include/block/block.h | 6 + include/block/block_int.h | 12 ++ include/block/blockjob.h | 12 ++ include/qemu/hbitmap.h | 8 + qapi/block.json | 16 ++ stubs/Makefile.objs | 1 + stubs/backup.c | 11 ++ tests/qemu-iotests/051 | 13 ++ tests/qemu-iotests/051.out | 13 ++ tests/test-hbitmap.c | 39 ++++ util/hbitmap.c | 16 ++ 19 files changed, 1314 insertions(+), 27 deletions(-) create mode 100644 docs/block-replication.txt create mode 100644 stubs/backup.c -- 2.1.0