From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53165) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X8EVk-0006fJ-Vk for qemu-devel@nongnu.org; Fri, 18 Jul 2014 16:12:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X8EVb-0005jU-MO for qemu-devel@nongnu.org; Fri, 18 Jul 2014 16:12:08 -0400 Received: from mail-wi0-x234.google.com ([2a00:1450:400c:c05::234]:65292) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X8EVb-0005jE-Ft for qemu-devel@nongnu.org; Fri, 18 Jul 2014 16:11:59 -0400 Received: by mail-wi0-f180.google.com with SMTP id n3so1407668wiv.7 for ; Fri, 18 Jul 2014 13:11:58 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <53C97F8A.7080908@redhat.com> Date: Fri, 18 Jul 2014 22:11:54 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1404032955-2591-1-git-send-email-marcel.a@redhat.com> <53C92E49.7090001@suse.de> <1405699194.2696.84.camel@localhost.localdomain> <53C946F6.4040908@suse.de> <1405700615.2696.93.camel@localhost.localdomain> <53C94C32.7050507@suse.de> In-Reply-To: <53C94C32.7050507@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH] machine: replace underscores in machine's property names List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= , Marcel Apfelbaum Cc: qemu-devel@nongnu.org, Peter Maydell , mdroth@linux.vnet.ibm.com, aliguori@amazon.com, mst@redhat.com Il 18/07/2014 18:32, Andreas Färber ha scritto: > Am 18.07.2014 18:23, schrieb Marcel Apfelbaum: >> On Fri, 2014-07-18 at 18:10 +0200, Andreas Färber wrote: >>> Hi, >>> >>> Am 18.07.2014 17:59, schrieb Marcel Apfelbaum: >>>> On Fri, 2014-07-18 at 16:25 +0200, Andreas Färber wrote: >>>>> Am 29.06.2014 11:09, schrieb Marcel Apfelbaum: >>>>>> Replaced '_' with '-' to comply with QOM guidelines. >>>>>> Made the conversion from HMP to QMP in vl.c >>>>>> >>>>>> Signed-off-by: Marcel Apfelbaum >>>>>> --- >>>>>> hw/core/machine.c | 8 ++++---- >>>>>> vl.c | 12 +++++++++++- >>>>>> 2 files changed, 15 insertions(+), 5 deletions(-) >>>>> [snip] >>>>>> diff --git a/vl.c b/vl.c >>>>>> index a1686ef..7587c97 100644 >>>>>> --- a/vl.c >>>>>> +++ b/vl.c >>>>>> @@ -2820,15 +2820,25 @@ static int object_set_property(const char *name, const char *value, void *opaque >>>>>> Object *obj = OBJECT(opaque); >>>>>> StringInputVisitor *siv; >>>>>> Error *local_err = NULL; >>>>>> + char *c, *qom_name; >>>>>> >>>>>> if (strcmp(name, "qom-type") == 0 || strcmp(name, "id") == 0 || >>>>>> strcmp(name, "type") == 0) { >>>>>> return 0; >>>>>> } >>>>>> >>>>>> + qom_name = g_strdup(name); >>>>>> + c = qom_name; >>>>>> + while (*c++) { >>>>>> + if (*c == '_') { >>>>>> + *c = '-'; >>>>>> + } >>>>>> + } >>>>> >>>>> Actually, is this really safe? By my reading, this function handles >>>>> -object as well, which in turn allows - in theory - to instantiate any >>>>> device, where some will still have underscores in their property names. >>>>> Not sure if all non-device objects such as virtio-rng backends have been >>>>> checked? >>>> Hi Andreas, >>>> >>>> I checked and object_set_property is used only be machine right now, so >>>> no problem here. >>> >>> Indeed you are right. If -object is no longer using it, can we drop >>> qom-type handling? What changed there? >> Hi Andreas, >> >> The check was originally placed there by Paolo for -object handling. >> We need to find out where the "qom-type" property is coming from. (What code is adding it) >> If is added automatically at parse/init time we can't get rid of it. >> If is object specific, it is ok. > > It was not a QOM property, it was a QemuOpt parameter for -object and > therefore excluded from the handling like your type property is. Paolo > had dicussed to rename qom-type to type for simplicity and consistency, > but what I don't know is why this function is no longer used. It is not used anymore because -object is now parsed using OptsVisitor; see function object_create. Paolo