prior to the introduction of snapshot as volume chains, volume names of almost arbitrary form were accepted. only forbid filenames which are part of the newly introduced namespace for snapshot files, while deprecating other names not following our usual naming scheme, instead of forbidding them outright.
Fixes: b63147f5dfd62e398cc206d2f7086d5db38b3c9b "plugin: fix volname parsing" Co-authored-by: Shannon Sterz <s.st...@proxmox.com> Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> --- src/PVE/Storage/Plugin.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index 2b5a016..c08f5a5 100644 --- a/src/PVE/Storage/Plugin.pm +++ b/src/PVE/Storage/Plugin.pm @@ -715,8 +715,11 @@ sub parse_name_dir { if ($name =~ m!^((vm-|base-|subvol-)(\d+)-[^/\s]+\.(raw|qcow2|vmdk|subvol))$!) { my $isbase = $2 eq 'base-' ? $2 : undef; return ($1, $4, $isbase); # (name, format, isBase) + } elsif (parse_snap_name($name)) { + die "'$name' is a snapshot filename, not a volume!\n"; } elsif ($name =~ m!^((base-)?[^/\s]+\.(raw|qcow2|vmdk|subvol))$!) { - warn "this volume name `$name` is not supported anymore\n" if !parse_snap_name($name); + warn "this volume name `$name` is deprecated, please use (base-/vm-/subvol-)-NNN- as prefix\n"; + return ($1, $3, $2); # (name ,format, isBase) } die "unable to parse volume filename '$name'\n"; -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel