]> git.proxmox.com Git - qemu-server.git/commitdiff
schema: add pve-volume-id-or-absolute-path
authorFabian Ebner <f.ebner@proxmox.com>
Wed, 9 Mar 2022 10:09:11 +0000 (11:09 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Fri, 11 Mar 2022 09:45:59 +0000 (10:45 +0100)
Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
[split into its own patch + style fixes]
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
PVE/QemuServer.pm

index b246602e6fa4632e362df98cb1868cee9b458ce9..33f226e6675de134bae8c1c0ef5455933967c367 100644 (file)
@@ -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;