From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37710 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzUd5-0004pE-E3 for qemu-devel@nongnu.org; Tue, 15 Mar 2011 09:49:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PzUd4-0005N8-2Y for qemu-devel@nongnu.org; Tue, 15 Mar 2011 09:49:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:19870) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PzUd3-0005Mx-MV for qemu-devel@nongnu.org; Tue, 15 Mar 2011 09:49:42 -0400 Message-ID: <4D7F6EF3.2010504@redhat.com> Date: Tue, 15 Mar 2011 14:51:47 +0100 From: Kevin Wolf MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [RFC] QCFG: a new mechanism to replace QemuOpts and option handling References: <4D7E5507.8010205@codemonkey.ws> <4D7F4BBC.6010509@redhat.com> <4D7F6BAB.8040709@codemonkey.ws> In-Reply-To: <4D7F6BAB.8040709@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Chris Wright , Markus Armbruster , Adam Litke , Stefan Hajnoczi , qemu-devel Am 15.03.2011 14:37, schrieb Anthony Liguori: > On 03/15/2011 06:21 AM, Kevin Wolf wrote: >> Am 14.03.2011 18:48, schrieb Anthony Liguori: >>> I've got a spec written up at http://wiki.qemu.org/Features/QCFG. >>> Initial code is in my QAPI tree. >> One question about a small detail on this wiki page: >> >>> typedef struct BlockdevConfig { >>> char * file; >>> struct BlockdevConfig * backing_file; >>> >>> struct BlockdevConfig * next; >>> } BlockdevConfig; >> What is the 'next' pointer used for, > > This is a standard part of QAPI. All types get a next pointer added > such that we can support lists of complex types. Only a single list for each object. >> are you going to store a list of >> all -blockdev options used? And why isn't it a QLIST or something? > > Two reasons. QLIST requires another type for the head of the list which > would complicate things overall. Second is that these types are part of > the libqmp interface and I didn't want to force qemu-queue on any > consumer of libqmp. And now you force existing qemu code to go back to open coded lists, which is arguably a step backwards. I don't think this is any better than forcing the (non-existent) users of libqmp to include one additional header file. Kevin