From 028aee4554de72d219609931c89cb5993f2561c3 Mon Sep 17 00:00:00 2001 From: Hannes Duerr Date: Wed, 6 Dec 2023 08:47:43 +0100 Subject: [PATCH] Move NEW_DISK_RE to QemuServer/Drive.pm Prepare for introduction of new helper Signed-off-by: Hannes Duerr --- PVE/API2/Qemu.pm | 10 ++++------ PVE/QemuServer/Drive.pm | 1 + 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index f26adf51..9e3cfb57 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -86,8 +86,6 @@ my $foreach_volume_with_alloc = sub { } }; -my $NEW_DISK_RE = qr!^(([^/:\s]+):)?(\d+(\.\d+)?)$!; - my $check_drive_param = sub { my ($param, $storecfg, $extra_checks) = @_; @@ -98,7 +96,7 @@ my $check_drive_param = sub { raise_param_exc({ $opt => "unable to parse drive options" }) if !$drive; if ($drive->{'import-from'}) { - if ($drive->{file} !~ $NEW_DISK_RE || $3 != 0) { + if ($drive->{file} !~ $PVE::QemuServer::Drive::NEW_DISK_RE || $3 != 0) { raise_param_exc({ $opt => "'import-from' requires special syntax - ". "use :0,import-from=", @@ -142,7 +140,7 @@ my $check_storage_access = sub { # nothing to check } elsif ($isCDROM && ($volid eq 'cdrom')) { $rpcenv->check($authuser, "/", ['Sys.Console']); - } elsif (!$isCDROM && ($volid =~ $NEW_DISK_RE)) { + } elsif (!$isCDROM && ($volid =~ $PVE::QemuServer::Drive::NEW_DISK_RE)) { my ($storeid, $size) = ($2 || $default_storage, $3); die "no storage ID specified (and no default storage)\n" if !$storeid; $rpcenv->check($authuser, "/storage/$storeid", ['Datastore.AllocateSpace']); @@ -365,7 +363,7 @@ my $create_disks = sub { delete $disk->{format}; # no longer needed $res->{$ds} = PVE::QemuServer::print_drive($disk); print "$ds: successfully created disk '$res->{$ds}'\n"; - } elsif ($volid =~ $NEW_DISK_RE) { + } elsif ($volid =~ $PVE::QemuServer::Drive::NEW_DISK_RE) { my ($storeid, $size) = ($2 || $default_storage, $3); die "no storage ID specified (and no default storage)\n" if !$storeid; @@ -1633,7 +1631,7 @@ my $update_vm_api = sub { return if defined($volname) && $volname eq 'cloudinit'; my $format; - if ($volid =~ $NEW_DISK_RE) { + if ($volid =~ $PVE::QemuServer::Drive::NEW_DISK_RE) { $storeid = $2; $format = $drive->{format} || PVE::Storage::storage_default_format($storecfg, $storeid); } else { diff --git a/PVE/QemuServer/Drive.pm b/PVE/QemuServer/Drive.pm index f3fbaaa5..3a27a6e5 100644 --- a/PVE/QemuServer/Drive.pm +++ b/PVE/QemuServer/Drive.pm @@ -36,6 +36,7 @@ my $MAX_SCSI_DISKS = 31; my $MAX_VIRTIO_DISKS = 16; our $MAX_SATA_DISKS = 6; our $MAX_UNUSED_DISKS = 256; +our $NEW_DISK_RE = qr!^(([^/:\s]+):)?(\d+(\.\d+)?)$!; our $drivedesc_hash; # Schema when disk allocation is possible.