All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Canet" <benoit.canet@irqsave.net>
To: Fam Zheng <famz@redhat.com>
Cc: "Kevin Wolf" <kwolf@redhat.com>,
	"Benoît Canet" <benoit.canet@irqsave.net>,
	"Markus Armbruster" <armbru@redhat.com>,
	qemu-devel@nongnu.org, "Luiz Capitulino" <lcapitulino@redhat.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [Qemu-devel] How to introduce bs->node_name ?
Date: Thu, 7 Nov 2013 19:50:26 +0100	[thread overview]
Message-ID: <20131107185025.GD2921@irqsave.net> (raw)
In-Reply-To: <52778601.70501@redhat.com>

Le Monday 04 Nov 2013 à 19:33:21 (+0800), Fam Zheng a écrit :
> 
> On 11/04/2013 07:06 PM, Kevin Wolf wrote:
> >Am 04.11.2013 um 10:48 hat Fam Zheng geschrieben:
> >>On 11/04/2013 05:31 PM, Stefan Hajnoczi wrote:
> >>>On Wed, Oct 30, 2013 at 02:49:32PM +0100, Markus Armbruster wrote:
> >>>>The first proposal is to add another parameter, say "id".  Users can
> >>>>then refer either to an arbitrary BDS by "id", or (for backward
> >>>>compatibility) to the root BDS by "device".  When the code sees
> >>>>"device", it'll look up the BB, then fetch its root BDS.
> >>>>
> >>>>CON: Existing parameter "device" becomes compatibility cruft.
> >>>>
> >>>>PRO: Clean and obvious semantics (in my opinion).
> >>>This proposal gets my vote.
> >>>
> >>>>The second proposal is to press the existing parameter "device" into
> >>>>service for referring to BDS node_name.
> >>>>
> >>>>To keep backward compatibility, we obviously need to ensure that
> >>>>whenever the old code accepts a value of "device", the new code accepts
> >>>>it as well, and both resolve it to the same BDS.
> >>>Different legacy commands given the same device name might need to
> >>>operate on different nodes.
> >>Could you give an example for this?
> >>
> >>
> >>>Dynamic renaming does not solve this
> >>>problem, so I'm not convinced we can always choose a device name
> >>>matching a node name.
> >>>
> >>>Device name commands are higher-level than graph node commands.  For
> >>>example, block_set_io_throttle makes sense on a device but less sense on
> >>>a graph node, unless we add the implicit assumption that the new
> >>>throttling node is created on top of the given node or updated in place
> >>>if the throttling node already exists (!!).
> >>Throttling a node could be useful too, for example if we want to
> >>throttle backing_hd which is on shared storage, but not to throttle
> >>on the local image.
> >>
> >>My ignorant question is: Why can't we just use one namespace, make
> >>sure no name collision between node_name and device_name, or even
> >>just drop device_name, so we treat the root node's node_name as
> >>device_name? For commands that only accept a device, this can be
> >>enforced in its implementation by checking against the whole graph
> >>to verify this.
> >Markus described it somewhere in this thread: Live snapshots.
> >Currently, the device_name moves to the new BDS on the top (and
> >compatibility requires us to keep it that way), whereas a node name
> >should, of course, stay at its node.
> >
> >When you consider this, the single namespace, as much as I would have
> >loved it, is pretty much dead.

Good everyone agree on the direction to take.
I'll write some code.

Best regards

Benoît

> 
> Thanks for explaining (again). I get the reason now.
> 
> Fam
> 

      reply	other threads:[~2013-11-07 18:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-28 15:40 [Qemu-devel] How to introduce bs->node_name ? Benoît Canet
2013-10-29  1:03 ` Fam Zheng
2013-10-30 13:49 ` Markus Armbruster
2013-10-30 19:25   ` Eric Blake
2013-11-01 14:51     ` Luiz Capitulino
2013-11-01 14:59       ` Eric Blake
2013-11-01 15:12         ` Luiz Capitulino
2013-11-04 11:13           ` Kevin Wolf
2013-11-04 13:51             ` Luiz Capitulino
2013-11-04  9:31   ` Stefan Hajnoczi
2013-11-04  9:48     ` Fam Zheng
2013-11-04 11:06       ` Kevin Wolf
2013-11-04 11:33         ` Fam Zheng
2013-11-07 18:50           ` Benoît Canet [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=20131107185025.GD2921@irqsave.net \
    --to=benoit.canet@irqsave.net \
    --cc=armbru@redhat.com \
    --cc=famz@redhat.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.