From 6e55f5799e77fa062cca552844a24c2fae89c470 Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Wed, 9 Mar 2022 11:09:11 +0100 Subject: [PATCH] schema: add pve-volume-id-or-absolute-path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Dominic Jäger [split into its own patch + style fixes] Signed-off-by: Fabian Ebner --- PVE/QemuServer.pm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index b246602e..33f226e6 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -1036,11 +1036,17 @@ PVE::JSONSchema::register_format('pve-volume-id-or-qm-path', \&verify_volume_id_ sub verify_volume_id_or_qm_path { my ($volid, $noerr) = @_; - if ($volid eq 'none' || $volid eq 'cdrom' || $volid =~ m|^/|) { - return $volid; - } + return $volid if $volid eq 'none' || $volid eq 'cdrom'; + + return verify_volume_id_or_absolute_path($volid, $noerr); +} + +PVE::JSONSchema::register_format('pve-volume-id-or-absolute-path', \&verify_volume_id_or_absolute_path); +sub verify_volume_id_or_absolute_path { + my ($volid, $noerr) = @_; + + return $volid if $volid =~ m|^/|; - # if its neither 'none' nor 'cdrom' nor a path, check if its a volume-id $volid = eval { PVE::JSONSchema::check_format('pve-volume-id', $volid, '') }; if ($@) { return if $noerr;