[PATCH pve-storage v2 1/1] fix #7077: lvm: Improve ID verification error messages

Arthur Bied-Charreton
2026-02-06T16:12:46Z

The regex in Storage::parse_lvm_name has an implicit `length >= 2`
constraint, and shorter IDs failed with "contains illegal characters".
Add explicit length check to return a clearer error message in this case.

Signed-off-by: Arthur Bied-Charreton <a.bied-charreton@proxmox.com>
---
src/PVE/Storage/Plugin.pm | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm
index 6f3d691..58f714c 100644
--- a/src/PVE/Storage/Plugin.pm
+++ b/src/PVE/Storage/Plugin.pm
@@ -333,6 +333,11 @@ PVE::JSONSchema::register_format('pve-storage-vgname', \&parse_lvm_name);
sub parse_lvm_name {
my ($name, $noerr) = @_;

+ if (length($name) < 2) {
+ return undef if $noerr;
+ die "lvm name '$name' can't be shorter than 2 characters\n";
+ }
+
if ($name !~ m/^[a-z0-9][a-z0-9\-\_\.]*[a-z0-9]$/i) {
return undef if $noerr;
die "lvm name '$name' contains illegal characters\n";
--
2.47.3