From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40669) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W6i4C-0003zZ-Iu for qemu-devel@nongnu.org; Fri, 24 Jan 2014 09:49:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W6i47-0006PV-J3 for qemu-devel@nongnu.org; Fri, 24 Jan 2014 09:49:08 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57391) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W6i47-0006Og-BI for qemu-devel@nongnu.org; Fri, 24 Jan 2014 09:49:03 -0500 Date: Fri, 24 Jan 2014 15:48:54 +0100 From: Kevin Wolf Message-ID: <20140124144854.GI3342@dhcp-200-207.str.redhat.com> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <52E26C98.1070206@redhat.com> 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: Max Reitz Cc: =?iso-8859-1?Q?Beno=EEt?= Canet , famz@redhat.com, Benoit Canet , qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com 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 a= nd > >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= ? >=20 > 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 freedom to change the interface as we like. > However, if the ID cannot be found, I think > we should interpret it as a reference to the node name. >=20 > 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