qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: Alberto Garcia <berto@igalia.com>, Eric Blake <eblake@redhat.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Changlong Xie <xiecl.fnst@cn.fujitsu.com>,
	zhanghailiang <zhang.zhanghailiang@huawei.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>,
	Markus Armbruster <armbru@redhat.com>,
	Gonglei <arei.gonglei@huawei.com>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v12 2/3] quorum: implement bdrv_add_child() and bdrv_del_child()
Date: Fri, 1 Apr 2016 17:20:53 +0200	[thread overview]
Message-ID: <56FE91D5.9030701@redhat.com> (raw)
In-Reply-To: <w51k2kiq3fm.fsf@maestria.local.igalia.com>


[-- Attachment #1.1: Type: text/plain, Size: 2386 bytes --]

On 31.03.2016 13:42, Alberto Garcia wrote:
> On Wed 30 Mar 2016 05:07:15 PM CEST, Max Reitz wrote:
>>> I also have another (not directly related) question: why not simply
>>> use the node name when removing children? I understood that the idea
>>> was that it's possible to have the same node attached twice to the
>>> same Quorum, but can you actually do that? And what's the use case?
>>
>> What I like about using the child role name is that it automatically
>> prevents you from specifying a node that is not a child of the given
>> parent.
> 
> Right, but checking if a node is not a child and returning an error is
> very simple. And it doesn't require the user to keep track of the node
> name *and* the child role name.

Yes. But I think that you need to know parent and child anyway if you
want to modify (delete) an edge in the graph.

Also, it may be possible to have multiple parents per node. Actually, it
is already possible because the BB-BDS relationship is modeled as a
parent-child relationship. Thus, I'm not sure whether it would be
sufficient to specify a single node if you want to delete a single edge.

> Unless I'm forgetting something this would be the first time we expose
> the child role name in the API, that's why I'm wondering if it's
> something worth doing.

Well, the roles are kind of exposed already. It's exactly what you
specify in -drive or blockdev-add.

>> Which makes me notice that it might be a good idea to require the user
>> to specify the child's role when adding a new child. In this version
>> of this series (where only quorum is supported), the children are just
>> inserted in numerical order (first free slot is taken first), but
>> maybe the user wants to insert them in a different order.
> 
> For the Quorum case it totally makes sense to let the user choose the
> position of the new child.
> 
> But for creating a Quorum array in the first place we don't require
> that, the order is the one that the user provides, and the user does not
> need to know about the child role names at that point.

Depends. If you create an empty quorum BDS and then add the children
using the QAPI command introduced in this series, you are right. But if
you add children along with creating the quorum BDS (be it via -drive or
via blockdev-add), one has to specify the child role names.

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

  parent reply	other threads:[~2016-04-01 15:21 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-10  2:49 [Qemu-devel] [PATCH v12 0/3] qapi: child add/delete support Changlong Xie
2016-03-10  2:49 ` [Qemu-devel] [PATCH v12 1/3] Add new block driver interface to add/delete a BDS's child Changlong Xie
2016-03-10 14:57   ` Alberto Garcia
2016-03-11  1:17     ` Changlong Xie
2016-03-10  2:49 ` [Qemu-devel] [PATCH v12 2/3] quorum: implement bdrv_add_child() and bdrv_del_child() Changlong Xie
2016-03-11 12:21   ` Alberto Garcia
2016-03-14  1:33     ` Changlong Xie
2016-03-14  6:02     ` Changlong Xie
2016-03-16 12:38       ` Alberto Garcia
2016-03-17  1:22         ` Wen Congyang
2016-03-17  9:10           ` Alberto Garcia
2016-03-17  9:44             ` Wen Congyang
2016-03-17  9:48               ` Dr. David Alan Gilbert
2016-03-17  9:56                 ` Wen Congyang
2016-03-17  9:59                   ` Dr. David Alan Gilbert
2016-03-17 10:07                   ` Alberto Garcia
2016-03-17 10:23                     ` Wen Congyang
2016-03-17 11:25                       ` Dr. David Alan Gilbert
2016-03-18  2:56                         ` Wen Congyang
2016-03-18 10:48                           ` Dr. David Alan Gilbert
2016-03-29 15:38                   ` Max Reitz
2016-03-29 15:44                     ` Eric Blake
2016-03-29 15:50                       ` Dr. David Alan Gilbert
2016-03-29 15:52                         ` Max Reitz
2016-03-29 15:54                           ` Dr. David Alan Gilbert
2016-03-29 15:59                             ` Max Reitz
2016-03-29 16:03                               ` Dr. David Alan Gilbert
2016-03-29 16:09                                 ` Max Reitz
2016-03-29 17:33                                   ` Dr. David Alan Gilbert
2016-03-29 15:51                       ` Max Reitz
2016-03-30 11:39                         ` Alberto Garcia
2016-03-30 15:07                           ` Max Reitz
2016-03-31 11:42                             ` Alberto Garcia
2016-03-31 12:31                               ` Dr. David Alan Gilbert
2016-04-01 15:20                               ` Max Reitz [this message]
2016-04-06  7:48                                 ` Wen Congyang
2016-04-11  5:18                             ` Changlong Xie
2016-04-12 16:21                               ` Max Reitz
2016-03-16  2:10     ` Wen Congyang
2016-03-10  2:49 ` [Qemu-devel] [PATCH v12 3/3] qmp: add monitor command to add/remove a child Changlong Xie
2016-03-11 12:48   ` Alberto Garcia
2016-03-28  6:09   ` Changlong Xie

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=56FE91D5.9030701@redhat.com \
    --to=mreitz@redhat.com \
    --cc=arei.gonglei@huawei.com \
    --cc=armbru@redhat.com \
    --cc=berto@igalia.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=wency@cn.fujitsu.com \
    --cc=xiecl.fnst@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 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).