From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42464) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W6i7u-0007IV-EU for qemu-devel@nongnu.org; Fri, 24 Jan 2014 09:53:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W6i7m-0008Gg-O2 for qemu-devel@nongnu.org; Fri, 24 Jan 2014 09:52:58 -0500 Received: from mx1.redhat.com ([209.132.183.28]:61041) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W6i7m-0008Ga-Ei for qemu-devel@nongnu.org; Fri, 24 Jan 2014 09:52:50 -0500 Message-ID: <52E27EAF.7020209@redhat.com> Date: Fri, 24 Jan 2014 15:54:39 +0100 From: Max Reitz MIME-Version: 1.0 References: <1390509099-695-1-git-send-email-benoit.canet@irqsave.net> <1390509099-695-9-git-send-email-benoit.canet@irqsave.net> <20140124132619.GF3342@dhcp-200-207.str.redhat.com> <52E26C98.1070206@redhat.com> <20140124144854.GI3342@dhcp-200-207.str.redhat.com> In-Reply-To: <20140124144854.GI3342@dhcp-200-207.str.redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH V6 8/8] block: Use graph node name as reference in bdrv_file_open(). List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: =?UTF-8?B?QmVub8OudCBDYW5ldA==?= , famz@redhat.com, Benoit Canet , qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com On 24.01.2014 15:48, Kevin Wolf wrote: > Am 24.01.2014 um 14:37 hat Max Reitz geschrieben: >> On 24.01.2014 14:26, Kevin Wolf wrote: >>> Am 23.01.2014 um 21:31 hat Beno=C3=AEt Canet geschrieben: >>>> Signed-off-by: Benoit Canet >>>> --- >>>> block.c | 6 +++--- >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>> I'm not going to merge this one yet. It breaks qemu-iotests case 071, >>> which would have to be adapted. >>> >>> 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 =3D id when id is set, but node-name isn'= t? >> The QAPI schema is pretty clear about this: =E2=80=9Creferences the ID= of an >> existing block device.=E2=80=9D > 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 freedo= m > to change the interface as we like. Yes, that's right. >> 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 managemen= t > 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 operat= e > 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 erro= r > if you try to assign a node name that is already a device name and vice > versa? This is what I would go for. However, then I don't really know why we=20 should separate the ID and the node name in the first place (although=20 that's probably because I haven't followed the discussion around node=20 names). Max