From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bSEKh-0001Hl-0I for qemu-devel@nongnu.org; Tue, 26 Jul 2016 22:12:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bSEKe-00081E-OX for qemu-devel@nongnu.org; Tue, 26 Jul 2016 22:12:25 -0400 Message-ID: <579819C1.8030707@cn.fujitsu.com> Date: Wed, 27 Jul 2016 10:17:37 +0800 From: Changlong Xie MIME-Version: 1.0 References: <1469520941-16283-1-git-send-email-xiecl.fnst@cn.fujitsu.com> <1469520941-16283-12-git-send-email-xiecl.fnst@cn.fujitsu.com> In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v23 11/12] support replication driver in blockdev-add List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz , qemu devel , qemu block , Stefan Hajnoczi , Fam Zheng , Kevin Wolf , Jeff Cody Cc: Paolo Bonzini , John Snow , Eric Blake , Markus Armbruster , "Dr. David Alan Gilbert" , Dong Eddie , Jiang Yunhong , zhanghailiang , Gonglei , Wen Congyang , Wang Weiwei On 07/27/2016 12:22 AM, Max Reitz wrote: > On 26.07.2016 10:15, Changlong Xie wrote: >> From: Wen Congyang >> >> Signed-off-by: Wen Congyang >> Signed-off-by: Changlong Xie >> Signed-off-by: Wang WeiWei >> Signed-off-by: zhanghailiang >> Signed-off-by: Gonglei >> Reviewed-by: Eric Blake >> --- >> qapi/block-core.json | 22 ++++++++++++++++++++-- >> 1 file changed, 20 insertions(+), 2 deletions(-) >> >> diff --git a/qapi/block-core.json b/qapi/block-core.json >> index 7258a87..48aa112 100644 >> --- a/qapi/block-core.json >> +++ b/qapi/block-core.json >> @@ -248,6 +248,7 @@ >> # 2.3: 'host_floppy' deprecated >> # 2.5: 'host_floppy' dropped >> # 2.6: 'luks' added >> +# 2.8: 'replication' added >> # >> # @backing_file: #optional the name of the backing file (for copy-on-write) >> # >> @@ -1696,8 +1697,8 @@ >> 'data': [ 'archipelago', 'blkdebug', 'blkverify', 'bochs', 'cloop', >> 'dmg', 'file', 'ftp', 'ftps', 'gluster', 'host_cdrom', >> 'host_device', 'http', 'https', 'luks', 'null-aio', 'null-co', >> - 'parallels', 'qcow', 'qcow2', 'qed', 'quorum', 'raw', 'tftp', >> - 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] } >> + 'parallels', 'qcow', 'qcow2', 'qed', 'quorum', 'raw', 'replication', >> + 'tftp', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] } >> >> ## >> # @BlockdevOptionsFile >> @@ -2160,6 +2161,22 @@ >> { 'enum' : 'ReplicationMode', 'data' : [ 'primary', 'secondary' ] } >> >> ## >> +# @BlockdevOptionsReplication >> +# >> +# Driver specific block device options for replication >> +# >> +# @mode: the replication mode >> +# >> +# @top-id: the id to protect replication model chain > > It's hard for me to understand this sentence without reading the code > and thus knowing what this ID is used for. I'd use the following instead: > > @top-id: In secondary mode, node name or device ID of the root node who > owns the replication node chain. Ignored in primary mode. Pretty description > > Also, since this parameter is only necessary in secondary mode and > completely ignored in primary mode, I would probably make it an optional > parameter. Surely. > > Max > >> +# >> +# Since: 2.8 >> +## >> +{ 'struct': 'BlockdevOptionsReplication', >> + 'base': 'BlockdevOptionsGenericFormat', >> + 'data': { 'mode': 'ReplicationMode', >> + 'top-id': 'str' } } >> + >> +## >> # @BlockdevOptions >> # >> # Options for creating a block device. Many options are available for all >> @@ -2224,6 +2241,7 @@ >> 'quorum': 'BlockdevOptionsQuorum', >> 'raw': 'BlockdevOptionsGenericFormat', >> # TODO rbd: Wait for structured options >> + 'replication':'BlockdevOptionsReplication', >> # TODO sheepdog: Wait for structured options >> # TODO ssh: Should take InetSocketAddress for 'host'? >> 'tftp': 'BlockdevOptionsFile', >> > >