qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] machine: replace underscores in machine's prope


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] machine: replace underscores in machine's property names
Date: Fri, 18 Jul 2014 22:11:54 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

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 <address@hidden>
>>>>>> ---
>>>>>>  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




reply via email to

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