All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wen Congyang <wency@cn.fujitsu.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	qemu block <qemu-block@nongnu.org>,
	Jiang Yunhong <yunhong.jiang@intel.com>,
	Dong Eddie <eddie.dong@intel.com>,
	qemu devel <qemu-devel@nongnu.org>, Max Reitz <mreitz@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Yang Hongyang <yanghy@cn.fujitsu.com>,
	zhang.zhanghailiang@huawei.com
Subject: Re: [Qemu-devel] [PATCH COLO v4 00/15] Block replication for continuous checkpoints
Date: Thu, 21 May 2015 08:50:03 +0800	[thread overview]
Message-ID: <555D2BBB.9030608@cn.fujitsu.com> (raw)
In-Reply-To: <20150520191827.GH2148@work-vm>

On 05/21/2015 03:18 AM, Dr. David Alan Gilbert wrote:
> * Wen Congyang (wency@cn.fujitsu.com) 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-v4
>>
>> You can get the patch with the other COLO patches here:
>> https://github.com/wencongyang/qemu-colo/tree/colo_huawei_v4.7
> 
> Hi,
>   A couple of questions:
>      1) I still trip the handle_aiocb_rw assertion occasionally;
>   I see Kevin was asking for some detail on http://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg04507.html
>      is that still the right fix?

I will send the newest fix today.

> 
>      2) The only stats I see on the block replication are the info block-jobs
>         completed 'n' of 'm' - is 'n' there just the total number of blocks written?
>         Are there any more stats about?

There is nothing now. I add it to TODO list, and do it later.

> 
> 
>> TODO:
>> 1. Test failover when the guest does too many I/O operations. If it
>>    takes too much time, we need to optimize it.
> 
> Limiting the size of the state needed for commit might help that; you can
> always trigger a new checkpoint if the size gets too big; it would also
> make it more realistic since it will probably fail at the moment if you
> fill up the RAM you're using to hold the hidden/active disks with a big
> write.

These codes have been changed in the newest version(will send it out soon).
In the newest codes, secondary vm read from active disk, and write to
secondary disk or active disk(only when the sectors are allocated in hidden/active
disk) after failover.

Thanks
Wen Congyang

> 
> Dave
> 
>> 2. Continuous block replication. It will be started after basic functions
>>    are accepted.
>>
>> Changs Log:
>> 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                    | 270 +++++++++++++++++++++++-
>>  block/Makefile.objs        |   3 +-
>>  block/backup.c             |  13 ++
>>  block/nbd.c                |  67 ++++--
>>  block/quorum.c             | 142 ++++++++++++-
>>  block/replication.c        | 512 +++++++++++++++++++++++++++++++++++++++++++++
>>  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, 1260 insertions(+), 30 deletions(-)
>>  create mode 100644 block/replication.c
>>  create mode 100644 docs/block-replication.txt
>>
>> -- 
>> 2.1.0
>>
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> .
> 

      reply	other threads:[~2015-05-21  0:46 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08  9:15 [Qemu-devel] [PATCH COLO v4 00/15] Block replication for continuous checkpoints Wen Congyang
2015-05-08  9:15 ` [Qemu-devel] [PATCH COLO v4 01/15] docs: block replication's description Wen Congyang
2015-05-14 11:19   ` Dr. David Alan Gilbert
2015-05-14 14:00     ` Wen Congyang
2015-05-14 15:38       ` Dr. David Alan Gilbert
2015-05-20 16:31         ` Andrey Korolyov
2015-05-21  8:35           ` Wen Congyang
2015-05-21 11:43             ` Andrey Korolyov
2015-05-08  9:15 ` [Qemu-devel] [PATCH COLO v4 02/15] allow writing to the backing file Wen Congyang
2015-05-14  7:16   ` Gonglei
2015-05-14  7:32     ` Wen Congyang
2015-05-08  9:15 ` [Qemu-devel] [PATCH COLO v4 03/15] Allow creating backup jobs when opening BDS Wen Congyang
2015-05-08  9:15 ` [Qemu-devel] [PATCH COLO v4 04/15] block: Parse "backing_reference" option to reference existing BDS Wen Congyang
2015-05-08  9:15 ` [Qemu-devel] [PATCH COLO v4 05/15] Backup: clear all bitmap when doing block checkpoint Wen Congyang
2015-05-08  9:15 ` [Qemu-devel] [PATCH COLO v4 06/15] Don't allow a disk use backing reference target Wen Congyang
2015-05-08  9:15 ` [Qemu-devel] [PATCH COLO v4 07/15] Add new block driver interface to connect/disconnect the remote target Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 08/15] NBD client: implement block driver interfaces to connect/disconnect NBD server Wen Congyang
2015-05-14  8:16   ` Gonglei
2015-05-14  8:41     ` Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 09/15] Introduce a new -drive option to control whether to connect to remote target Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 10/15] NBD client: connect to nbd server later Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 11/15] Add new block driver interfaces to control block replication Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 12/15] skip nbd_target when starting " Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 13/15] quorum: implement block driver interfaces for " Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 14/15] quorum: allow ignoring child errors Wen Congyang
2015-05-08  9:16 ` [Qemu-devel] [PATCH COLO v4 15/15] Implement new driver for block replication Wen Congyang
2015-05-14  9:18   ` Gonglei
2015-05-20 19:18 ` [Qemu-devel] [PATCH COLO v4 00/15] Block replication for continuous checkpoints Dr. David Alan Gilbert
2015-05-21  0:50   ` Wen Congyang [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=555D2BBB.9030608@cn.fujitsu.com \
    --to=wency@cn.fujitsu.com \
    --cc=dgilbert@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=yanghy@cn.fujitsu.com \
    --cc=yunhong.jiang@intel.com \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.