[pve-devel] [PATCH qemu-server 2/8] config to command: add one '-global' option for each flag

Fiona Ebner f.ebner at proxmox.com
Fri Mar 7 11:00:04 CET 2025


Am 07.03.25 um 10:54 schrieb Dominik Csapak:
> On 3/6/25 13:55, Fiona Ebner wrote:
>> Am 06.03.25 um 13:15 schrieb Dominik Csapak:
>>> On 3/6/25 13:13, Fiona Ebner wrote:
>>>> Am 06.03.25 um 11:44 schrieb Dominik Csapak:
>>>>> If we have multiple 'globalFlags', we have to encode each one
>>>>> separately
>>>>> on the commandline with '-global OPTION', since QEMU does not allow to
>>>>> have multiple options here.
>>>>>
>>>>> We currently only have one such flag that used the 'globalFlags' list,
>>>>> so it never popped up. (All other uses directly add an option to the
>>>>> commandline)
>>>>>
>>>>> Avoid future bugs by fixing it now.
>>>>>
>>>>
>>>> So there is no real point to collecting the flags in the first place?
>>>> I.e. we could also get rid of the variable and have the single current
>>>> user of the variable add the flag directly on the commandline too. Or
>>>> otherwise, we could change the other users and collect all flags with
>>>> this variable. Pre-existing of course, but ideally, we could avoid the
>>>> mishmash.
>>>>
>>>
>>> Sorry this could have been more clear here:
>>> I add to the flags in one of the following patches, so i sent this
>>> in preparation of that (could possibly be squashed)
>>
>> Yes, I understand that. I still think the status quo with mixing two
>> different approaches might not be best. It's not going to be a blocker
>> for the series, but I wanted to mention it, if you want to go for
>> avoiding it.
>>
>>> I did not want to touch the other places, since that in turn changes
>>> the order of the qemu commandline (which sometimes has unintended side
>>> effects, e.g. in combination with the 'args' parameter)
>>
>> Are you sure? Custom 'args' are always added last so that shouldn't
>> matter.
>>
>> The only thing that would change by removing the global flags variable
>> is having "-global kvm-pit.lost_tick_policy=discard" earlier in the
>> commandline. I think that should be fine. In particular QEMU's
>> qemu_init() function has a call to user_register_global_props() which
>> handles all global properties at the same time, so I think changing the
>> order should be fine in (almost?) all cases.
> 
> I'll test that, but imho it would better to do the reverse here?
> So don't interject '-gloabl' parameters throughout config2command, but
> add them to the globalFlags and output them together at the end?
> 
> we'd have to touch the same number of tests i think, but it seems less
> confusing to me (also in the resulting commandline we'd have all
> global options together then)
> 
> Or is there a better argument for injecting the global parameters
> in the middle?

It avoids the need for the variable to collect and passing it around and
to remember adding future ones to that variable too.

It doesn't make a difference from QEMUs perspective, but would slightly
improve readability for humans looking at the commandline.

Note that I already suggested collecting all in the variable as an
approach above. I just want to avoid the mishmash.




More information about the pve-devel mailing list