All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>,
	Markus Armbruster <armbru@redhat.com>
Cc: "Benoît Canet" <benoit.canet@irqsave.net>,
	kwolf@redhat.com, qemu-devel@nongnu.org,
	"Luiz Capitulino" <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] How to introduce bs->node_name ?
Date: Mon, 04 Nov 2013 17:48:01 +0800	[thread overview]
Message-ID: <52776D51.5040305@redhat.com> (raw)
In-Reply-To: <20131104093155.GA3991@stefanha-thinkpad.redhat.com>


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.

Fam

  reply	other threads:[~2013-11-04  9:48 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 [this message]
2013-11-04 11:06       ` Kevin Wolf
2013-11-04 11:33         ` Fam Zheng
2013-11-07 18:50           ` Benoît Canet

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=52776D51.5040305@redhat.com \
    --to=famz@redhat.com \
    --cc=armbru@redhat.com \
    --cc=benoit.canet@irqsave.net \
    --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.