--- Begin Message ---
Signed-off-by: Alexandre Derumier <alexandre.derum...@groupe-cyllene.com>
---
src/PVE/Storage/LVMPlugin.pm | 17 ++++++++++++-----
src/PVE/Storage/Plugin.pm | 17 +++++++++++++----
2 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm
index 0e2c38c..6e77eb3 100644
--- a/src/PVE/Storage/LVMPlugin.pm
+++ b/src/PVE/Storage/LVMPlugin.pm
@@ -458,6 +458,14 @@ my sub get_snap_name {
}
}
+my sub parse_snap_name {
+ my ($name) = @_;
+
+ if ($name =~ m/^snap_\S+_(.*)\.qcow2$/) {
+ return $1;
+ }
+}
+
sub filesystem_path {
my ($class, $scfg, $volname, $snapname) = @_;
@@ -773,11 +781,10 @@ sub volume_snapshot_info {
my $get_snapname_from_path = sub {
my ($volname, $path) = @_;
- my $basepath = basename($path);
- my $name = ($volname =~ s/\.[^.]+$//r);
- if ($basepath =~ m/^snap_${name}_(.*)\.qcow2$/) {
- return $1;
- } elsif ($basepath eq $volname) {
+ my $name = basename($path);
+ if (my $snapname = parse_snap_name($name)) {
+ return $snapname;
+ } elsif ($name eq $volname) {
return 'current';
}
return undef;
diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm
index aafb13c..59ffa5e 100644
--- a/src/PVE/Storage/Plugin.pm
+++ b/src/PVE/Storage/Plugin.pm
@@ -779,6 +779,14 @@ my sub get_snap_name {
return $name;
}
+my sub parse_snap_name {
+ my ($name) = @_;
+
+ if ($name =~ m/^snap-(.*)-vm(.*)$/) {
+ return $1;
+ }
+}
+
sub filesystem_path {
my ($class, $scfg, $volname, $snapname) = @_;
@@ -1728,10 +1736,11 @@ sub volume_snapshot_info {
my $get_snapname_from_path = sub {
my ($volname, $path) = @_;
- my $basepath = basename($path);
- if ($basepath =~ m/^snap-(.*)-vm(.*)$/) {
- return $1;
- } elsif ($basepath eq basename($volname)) {
+ my $name = basename($path);
+
+ if (my $snapname = parse_snap_name($name)) {
+ return $snapname;
+ } elsif ($name eq basename($volname)) {
return 'current';
}
return undef;
--
2.39.5
--- End Message ---
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel