plugin: lvmplugin: add parse_snap_name
Signed-off-by: Alexandre Derumier <alexandre.derumier@groupe-cyllene.com>
This commit is contained in:
parent
618b5bc3d8
commit
1dab17545c
2 changed files with 25 additions and 9 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue