[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 13:25:51 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;

Please also print the $key (as a prefix?), then users will immediately
know where to look. Otherwise, the need to search for where the ID is
used first.

With that added:
Reviewed-by: Fiona Ebner <f.ebner at proxmox.com>

>  	    if (!scalar($entry->@*)) {
>  		push @{$missing_mappings_by_node->{$node}}, $key;
>  	    }





More information about the pve-devel mailing list