Since regular expressions are typically greedy the old regex here matched as many underscores as it could (`\S` matches anything that is not a whitespace, so also `_`). This lead to an issue where snapshots that contained an underscore in their name would be truncated to only contain the part of the name after the last underscore.
Use `[^\s_]` to match everything that is not a whitespace and not the underscore character. Signed-off-by: Shannon Sterz <s.st...@proxmox.com> --- src/PVE/Storage/LVMPlugin.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 67fcfbd..c6586ac 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src/PVE/Storage/LVMPlugin.pm @@ -472,7 +472,7 @@ my sub get_snap_name { my sub parse_snap_name { my ($name) = @_; - if ($name =~ m/^snap_\S+_(.*)\.qcow2$/) { + if ($name =~ m/^snap_[^\s_]+_(.*)\.qcow2$/) { return $1; } } -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel