[pve-devel] [PATCH v4 qemu-server 08/16] config: memory: add 'max' option

Fiona Ebner f.ebner at proxmox.com
Thu Feb 23 08:44:43 CET 2023


Am 23.02.23 um 08:35 schrieb DERUMIER, Alexandre:
> Hi,
> 
>>> +PVE::JSONSchema::register_format('pve-qm-memory-max',
>>> \&verify_qm_memory_max);
>>> +sub verify_qm_memory_max {
>>> +    my ($max, $noerr) = @_;
>>> +
>>> +    return if $noerr;
>>
>> $noerr only switches if the function should die upon error or return
>> undef upon error. But if there is no error, you always need to return
>> the verified value, i.e. $max.
>>
> 
> I'm a bit lost here. I have looked at other verify subs, and I don't 
> have find a single one returning a value on noerr.

If there is no error and $noerr is set, they do.

> 
> All other verify subs have something like:
> 
>     if ($max % 65536 != 0) {
>         return if $noerr;
>         die "max memory need to be a multiple of 64GiB\n";
>     }
> 

Yes, this would be correct. Note that it behaves differently from the
current patch. The current patch always executes
return if $noerr;
but the new version only executes it when $max % 65536 != 0. If $max %
65536 == 0, you don't enter the if and then return $max even if $noerr
is set.





More information about the pve-devel mailing list