plugin: lvmplugin: add parse_snap_name
Signed-off-by: Alexandre Derumier <alexandre.derumier@groupe-cyllene.com>
This commit is contained in:
committed by
Wolfgang Bumiller
parent
618b5bc3d8
commit
1dab17545c
@ -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 {
|
sub filesystem_path {
|
||||||
my ($class, $scfg, $volname, $snapname) = @_;
|
my ($class, $scfg, $volname, $snapname) = @_;
|
||||||
|
|
||||||
@ -773,11 +781,10 @@ sub volume_snapshot_info {
|
|||||||
my $get_snapname_from_path = sub {
|
my $get_snapname_from_path = sub {
|
||||||
my ($volname, $path) = @_;
|
my ($volname, $path) = @_;
|
||||||
|
|
||||||
my $basepath = basename($path);
|
my $name = basename($path);
|
||||||
my $name = ($volname =~ s/\.[^.]+$//r);
|
if (my $snapname = parse_snap_name($name)) {
|
||||||
if ($basepath =~ m/^snap_${name}_(.*)\.qcow2$/) {
|
return $snapname;
|
||||||
return $1;
|
} elsif ($name eq $volname) {
|
||||||
} elsif ($basepath eq $volname) {
|
|
||||||
return 'current';
|
return 'current';
|
||||||
}
|
}
|
||||||
return undef;
|
return undef;
|
||||||
|
|||||||
@ -779,6 +779,14 @@ my sub get_snap_name {
|
|||||||
return $name;
|
return $name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my sub parse_snap_name {
|
||||||
|
my ($name) = @_;
|
||||||
|
|
||||||
|
if ($name =~ m/^snap-(.*)-vm(.*)$/) {
|
||||||
|
return $1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub filesystem_path {
|
sub filesystem_path {
|
||||||
my ($class, $scfg, $volname, $snapname) = @_;
|
my ($class, $scfg, $volname, $snapname) = @_;
|
||||||
|
|
||||||
@ -1728,10 +1736,11 @@ sub volume_snapshot_info {
|
|||||||
my $get_snapname_from_path = sub {
|
my $get_snapname_from_path = sub {
|
||||||
my ($volname, $path) = @_;
|
my ($volname, $path) = @_;
|
||||||
|
|
||||||
my $basepath = basename($path);
|
my $name = basename($path);
|
||||||
if ($basepath =~ m/^snap-(.*)-vm(.*)$/) {
|
|
||||||
return $1;
|
if (my $snapname = parse_snap_name($name)) {
|
||||||
} elsif ($basepath eq basename($volname)) {
|
return $snapname;
|
||||||
|
} elsif ($name eq basename($volname)) {
|
||||||
return 'current';
|
return 'current';
|
||||||
}
|
}
|
||||||
return undef;
|
return undef;
|
||||||
|
|||||||
Reference in New Issue
Block a user