From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH storage 1/4] plugin: fix parse_name_dir regression for custom volume names
Date: Thu, 31 Jul 2025 13:15:16 +0200 [thread overview]
Message-ID: <20250731111519.931104-2-f.gruenbichler@proxmox.com> (raw)
In-Reply-To: <20250731111519.931104-1-f.gruenbichler@proxmox.com>
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.sterz@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@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
next prev parent reply other threads:[~2025-07-31 11:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-31 11:15 [pve-devel] [PATCH storage 0/4] fix snapshot filename regressions Fabian Grünbichler
2025-07-31 11:15 ` Fabian Grünbichler [this message]
2025-07-31 11:15 ` [pve-devel] [PATCH storage 2/4] fix #6584: plugin: list_images: only include parseable filenames Fabian Grünbichler
2025-07-31 11:15 ` [pve-devel] [PATCH storage 3/4] plugin: extend snapshot name parsing to legacy volnames Fabian Grünbichler
2025-07-31 12:09 ` Fiona Ebner
2025-07-31 12:20 ` Fabian Grünbichler
2025-07-31 12:32 ` Fiona Ebner
2025-07-31 11:15 ` [pve-devel] [RFC storage 4/4] plugin: parse_name_dir: drop deprecation warning Fabian Grünbichler
2025-07-31 12:17 ` Fiona Ebner
2025-07-31 12:06 ` [pve-devel] [PATCH storage 0/4] fix snapshot filename regressions Shannon Sterz
2025-07-31 12:17 ` [pve-devel] applied: " Thomas Lamprecht
2025-07-31 12:24 ` [pve-devel] " Fiona Ebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250731111519.931104-2-f.gruenbichler@proxmox.com \
--to=f.gruenbichler@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox