qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V6 8/8] block: Use graph node name as reference


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH V6 8/8] block: Use graph node name as reference in bdrv_file_open().
Date: Fri, 30 May 2014 13:10:56 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 01/24/2014 07:48 AM, Kevin Wolf wrote:

Revisiting this:

>> However, first of all I'd like to hear the opinions of at least Eric and
>>> Max on what BlockRef should really refer to. I think node names make
>>> most sense, but perhaps it's a bit inconvenient and the command line
>>> should default to node-name = id when id is set, but node-name isn't?
>>
>> The QAPI schema is pretty clear about this: “references the ID of an
>> existing block device.”
> 
> Sure, that's because I wrote that text before we had a node name.
> 
> However, in 1.7 references didn't work yet, so we still have all freedom
> to change the interface as we like.

Is this statement still true of 2.0?  I'm trying to figure out if it is
possible to create a node name not attached to a device, and then later
attach it by reference to another device, from either the command line
or via blockdev-add.  More precisely, I'm trying to figure out if Jeff's
patches have to worry about the user ever doing:

      / file1
base <
      \ file2

and having to identify the overlay of node-name base, which gets more
interesting if a node-name can belong to more than one device.

> 
>> However, if the ID cannot be found, I think
>> we should interpret it as a reference to the node name.
>>
>> Therefore, I'd first try bdrv_find() and if that returns NULL, try
>> again with bdrv_find_node().
> 
> I think I would prefer to avoid such ambiguities. Otherwise a management
> tool that wants to use the node name needs to check first if it's not
> already used as a device name somewhere else and would therefore operate
> on the wrong device.
> 
> On the other hand, a management tool using the same names for devices
> and nodes just gets what it deserves.
> 
> Perhaps we should use a common namespace for both, i.e. you get an error
> if you try to assign a node name that is already a device name and vice
> versa?
> 
> Kevin
> 
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]