[pve-devel] [PATCH qemu-server] fix: print error message that the resource mapping entry does not exist

Fiona Ebner f.ebner at proxmox.com
Thu Apr 10 09:03:05 CEST 2025


Am 09.04.25 um 16:48 schrieb Markus Frank:
> Currently you get a "Can't use an undefined value..." error because all
> get_node_mapping functions return undefined if there is no resource
> mapping entry for the id.
> 
> Fixes: a52eb3c4e ("check local resources: extend for mapped resources")
> Signed-off-by: Markus Frank <m.frank at proxmox.com>
> ---
>  PVE/QemuServer.pm | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index ccdceedc..c1584c19 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -2512,6 +2512,7 @@ sub check_local_resources {
>  	    } elsif ($type eq 'dir') {
>  		$entry = PVE::Mapping::Dir::get_node_mapping($dir_map, $id, $node);
>  	    }
> +	    die "no $type resource mapping for id: $id\n" if !$entry;
>  	    if (!scalar($entry->@*)) {

Should it really be a die here instead of just adapting the if condition
to also check for definedness first? Because with a die the function
will immediately fail rather then produce the list of missing mappings
by node.

>  		push @{$missing_mappings_by_node->{$node}}, $key;
>  	    }





More information about the pve-devel mailing list