All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
	"Luiz Capitulino" <lcapitulino@redhat.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Benoît Canet" <benoit.canet@nodalink.com>
Subject: Re: [Qemu-devel] BB name vs. BDS name in the QAPI schema
Date: Mon, 15 Sep 2014 17:15:23 +0800	[thread overview]
Message-ID: <20140915091522.GA15455@fam-t430.nay.redhat.com> (raw)
In-Reply-To: <20140915085901.GA5236@noname.str.redhat.com>

On Mon, 09/15 10:59, Kevin Wolf wrote:
> Am 15.09.2014 um 03:31 hat Fam Zheng geschrieben:
> > On Sat, 09/13 19:04, Markus Armbruster wrote:
> > > 
> > > I actually like having separate parameters for separate kinds of names.  
> > > 
> > > However, BlockdevRef appears to tie our hand: it's an anonymous union,
> > > which means only the value is on the wire, and the receiving end uses
> > > its type to determine which union member it is.  Both kinds of names are
> > > strings, so we can't have separate union members for them.
> > > 
> > > Opinions?
> > 
> > Why wouldn't it work without distinguishing it in the QAPI side?
> 
> BlockRef takes either a string referring to an existing BDS (using
> device_name or node-name) or a dict of options for creating a new one.
> 
> > I remember at the time of introducing node-name, it was in a separate
> > namespace, but now it's not. Then why should the user care *whether* a name is
> > "device" or "node-name"?
> 
> When you reconfigure the graph (e.g. by taking a live snapshot), the BB
> name always stays at the root (i.e. points to the new BDS), whereas the
> node-name always stays at the same node (which was at the root, but
> isn't any more), that's probably important for the user. Maybe a bit
> like branches and tags in git.

Yes, good point! We shouldn't complicate the interface in terms of specifying
the operation object, but this device name behavior consistency should be well
documented independently.

Thanks for explaining!

> 
> So yes, they are somewhat different, but in the end they all resolve to
> a BDS and it makes sense to allow accessing them in a uniform way (just
> like 'git show <tag-name>' works the same as 'git show <branch-name>').
> 
> Which leads me to this conclusion: One mandatory string argument per
> command is enough, and also results in a cleaner interface than having
> two optional arguments that aren't truly optional because you need to
> specify the one xor the other.

Yes, I second that.

Fam

  reply	other threads:[~2014-09-15  9:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-13 17:04 [Qemu-devel] BB name vs. BDS name in the QAPI schema Markus Armbruster
2014-09-15  1:31 ` Fam Zheng
2014-09-15  8:59   ` Kevin Wolf
2014-09-15  9:15     ` Fam Zheng [this message]
2014-09-15 15:01     ` Stefan Hajnoczi

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=20140915091522.GA15455@fam-t430.nay.redhat.com \
    --to=famz@redhat.com \
    --cc=armbru@redhat.com \
    --cc=benoit.canet@nodalink.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.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.