From 46b9c1fe319f6d468ad5ebf66ec8d9daadd3dca2 Mon Sep 17 00:00:00 2001 From: Fiona Ebner Date: Mon, 12 Jun 2023 16:27:33 +0200 Subject: [PATCH] api: config: add/update storage: check for type mismatch first This avoids confusing errors about other properties when the storage type doesn't match. By highlighting that the type doesn't match, users should know right away what the issue is. Signed-off-by: Fiona Ebner --- src/PVE/API2/Storage/Config.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PVE/API2/Storage/Config.pm b/src/PVE/API2/Storage/Config.pm index 821db21..0716916 100755 --- a/src/PVE/API2/Storage/Config.pm +++ b/src/PVE/API2/Storage/Config.pm @@ -87,8 +87,8 @@ sub create_or_update { die "Storage ID '${sid}' already exists on node ${node}\n" if !defined($scfg->{nodes}) || $scfg->{nodes}->{$node}; - push @$verify_params, 'type'; - for my $key (@$verify_params) { + # check for type mismatch first to get a clear error + for my $key ('type', $verify_params->@*) { if (!defined($scfg->{$key})) { die "Option '${key}' is not configured for storage '$sid', " ."expected it to be '$storage_params->{$key}'";