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

Dominik Csapak d.csapak at proxmox.com
Thu Mar 6 13:15:00 CET 2025


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)

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)

>> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> 
> Reviewed-by: Fiona Ebner <f.ebner at proxmox.com>
> 
>> ---
>>   PVE/QemuServer.pm | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
>> index b6fc1f17..13af495d 100644
>> --- a/PVE/QemuServer.pm
>> +++ b/PVE/QemuServer.pm
>> @@ -4001,7 +4001,9 @@ sub config_to_command {
>>       push @$cmd, @$devices;
>>       push @$cmd, '-rtc', join(',', @$rtcFlags) if scalar(@$rtcFlags);
>>       push @$cmd, '-machine', join(',', @$machineFlags) if scalar(@$machineFlags);
>> -    push @$cmd, '-global', join(',', @$globalFlags) if scalar(@$globalFlags);
>> +    for my $flag ($globalFlags->@*) {
>> +	push @$cmd, '-global', $flag;
>> +    }
>>   
>>       if (my $vmstate = $conf->{vmstate}) {
>>   	my $statepath = PVE::Storage::path($storecfg, $vmstate);
> 





More information about the pve-devel mailing list