From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58992) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLL5g-0003Jj-4N for qemu-devel@nongnu.org; Mon, 18 Jan 2016 20:28:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aLL5d-0004M6-HZ for qemu-devel@nongnu.org; Mon, 18 Jan 2016 20:28:10 -0500 References: <1452676712-24239-1-git-send-email-xiecl.fnst@cn.fujitsu.com> <5696F5E1.9000707@cn.fujitsu.com> From: Hailiang Zhang Message-ID: <569D90FE.8070109@huawei.com> Date: Tue, 19 Jan 2016 09:27:26 +0800 MIME-Version: 1.0 In-Reply-To: <5696F5E1.9000707@cn.fujitsu.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v14 0/8] Block replication for continuous checkpoints List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Changlong Xie , qemu devel , Fam Zheng , Max Reitz , Paolo Bonzini , Kevin Wolf , Stefan Hajnoczi Cc: qemu block , Jiang Yunhong , Dong Eddie , peter.huangpeng@huawei.com, "Michael R. Hines" , "Dr. David Alan Gilbert" , Gonglei ping... 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. Thanks. zhanghailiang On 2016/1/14 9:12, Changlong Xie wrote: > It seems i missed someone in CC list, add them. > > Thanks > -Xie > > 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: >> http://wiki.qemu.org/Features/BlockReplication >> >> Usage: >> Please refer to docs/block-replication.txt >> >> This patch series is based on the following patch series: >> 1. http://lists.nongnu.org/archive/html/qemu-devel/2015-12/msg04570.html >> >> You can get the patch here: >> https://github.com/Pating/qemu/tree/changlox/block-replication-v14 >> >> You can get the patch with framework here: >> https://github.com/Pating/qemu/tree/changlox/colo_framework_v13 >> >> TODO: >> 1. Continuous block replication. It will be started after basic functions >> are accepted. >> >> Changs Log: >> V14: >> 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 >> V13: >> 1. Rebase to the newest codes >> 2. Remove redundant marcos and semicolon in replication.c >> 3. Fix typos in block-replication.txt >> V12: >> 1. Rebase to the newest codes >> 2. Use backing reference to replcace 'allow-write-backing-file' >> V11: >> 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. >> V10: >> 1. Use blockdev-remove-medium and blockdev-insert-medium to replace backing >> reference. >> 2. Address the comments from Eric Blake >> V9: >> 1. Update the error messages >> 2. Rebase to the newest qemu >> 3. Split child add/delete support. These patches are sent in another patchset. >> V8: >> 1. Address Alberto Garcia's comments >> 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 (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 >> > > > > . >