Eric Blake <ebl...@redhat.com> writes:

> On 01/20/2015 02:04 AM, Markus Armbruster wrote:
>> -global lets you set a nice booby-trap for yourself:
>> 
>>     $ qemu-system-x86_64 -nodefaults -S -display none -usb -monitor stdio 
>> -global usb-mouse.usb_version=l
>>     QEMU 2.1.94 monitor - type 'help' for more information
>>     (qemu) device_add usb-mouse
>>     Parameter 'usb_version' expects an int64 value or range
>>     $ echo $?
>>     1
>> 
>> Not nice.  Until commit 3196270 we even abort()ed.
>> 
>
>> This is consistent with how we handle similarly unusable -global in
>> qdev_prop_check_globals().
>> 
>> You could argue that the error should make device_add fail.  Would be
>> harder, because we're running within TypeInfo's instance_post_init()
>> method device_post_init(), which can't fail.
>
> I agree that outputting a warning up front then ignoring the bogus
> value, is as good as we can do given we are under "can't fail"
> constraints, and much better than confusingly failing down the road.
>
>> 
>> Signed-off-by: Markus Armbruster <arm...@redhat.com>
>> ---
>>  hw/core/qdev-properties.c    | 21 +++++++++------------
>>  hw/core/qdev.c               |  8 +-------
>>  include/hw/qdev-properties.h |  4 +---
>>  3 files changed, 11 insertions(+), 22 deletions(-)
>
>
>>  
>> -void qdev_prop_set_globals_for_type(DeviceState *dev, const char *typename,
>> -                                    Error **errp)
>> +static void qdev_prop_set_globals_for_type(DeviceState *dev,
>> +                                const char *typename)
>
> Is the indentation off here?

Yes.  Dear maintainer, can you fix this up on commit, or would you
prefer me to respin?

> But that's minor, so:
>
> Reviewed-by: Eric Blake <ebl...@redhat.com>

Thanks!

Reply via email to