plugin: export/import: fix calls to path() method
The plugin API does not require call context detection for the returned value of the path() method. See other plugins like ISCSIDirect/ZFS that do not implement it. So do not expect it for external plugins either. Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
committed by
Fabian Grünbichler
parent
edb18d6386
commit
a16bf6f791
@ -1697,7 +1697,7 @@ sub volume_export {
|
|||||||
|
|
||||||
my $err_msg = "volume export format $format not available for $class\n";
|
my $err_msg = "volume export format $format not available for $class\n";
|
||||||
if ($scfg->{path} && !defined($snapshot) && !defined($base_snapshot)) {
|
if ($scfg->{path} && !defined($snapshot) && !defined($base_snapshot)) {
|
||||||
my $file = $class->path($scfg, $volname, $storeid) or die $err_msg;
|
my ($file) = $class->path($scfg, $volname, $storeid) or die $err_msg;
|
||||||
my $file_format = ($class->parse_volname($volname))[6];
|
my $file_format = ($class->parse_volname($volname))[6];
|
||||||
my $size = file_size_info($file, undef, $file_format);
|
my $size = file_size_info($file, undef, $file_format);
|
||||||
|
|
||||||
@ -1731,7 +1731,7 @@ sub volume_export {
|
|||||||
sub volume_export_formats {
|
sub volume_export_formats {
|
||||||
my ($class, $scfg, $storeid, $volname, $snapshot, $base_snapshot, $with_snapshots) = @_;
|
my ($class, $scfg, $storeid, $volname, $snapshot, $base_snapshot, $with_snapshots) = @_;
|
||||||
if ($scfg->{path} && !defined($snapshot) && !defined($base_snapshot)) {
|
if ($scfg->{path} && !defined($snapshot) && !defined($base_snapshot)) {
|
||||||
my $file = $class->path($scfg, $volname, $storeid)
|
my ($file) = $class->path($scfg, $volname, $storeid)
|
||||||
or return;
|
or return;
|
||||||
my $format = ($class->parse_volname($volname))[6];
|
my $format = ($class->parse_volname($volname))[6];
|
||||||
my $size = file_size_info($file, undef, $format);
|
my $size = file_size_info($file, undef, $format);
|
||||||
@ -1769,7 +1769,7 @@ sub volume_import {
|
|||||||
|
|
||||||
# Check for an existing file first since interrupting alloc_image doesn't
|
# Check for an existing file first since interrupting alloc_image doesn't
|
||||||
# free it.
|
# free it.
|
||||||
my $file = $class->path($scfg, $volname, $storeid);
|
my ($file) = $class->path($scfg, $volname, $storeid);
|
||||||
if (-e $file) {
|
if (-e $file) {
|
||||||
die "file '$file' already exists\n" if !$allow_rename;
|
die "file '$file' already exists\n" if !$allow_rename;
|
||||||
warn "file '$file' already exists - importing with a different name\n";
|
warn "file '$file' already exists - importing with a different name\n";
|
||||||
@ -1786,7 +1786,7 @@ sub volume_import {
|
|||||||
if (defined($name) && $allocname ne $oldname) {
|
if (defined($name) && $allocname ne $oldname) {
|
||||||
die "internal error: unexpected allocated name: '$allocname' != '$oldname'\n";
|
die "internal error: unexpected allocated name: '$allocname' != '$oldname'\n";
|
||||||
}
|
}
|
||||||
my $file = $class->path($scfg, $volname, $storeid)
|
my ($file) = $class->path($scfg, $volname, $storeid)
|
||||||
or die "internal error: failed to get path to newly allocated volume $volname\n";
|
or die "internal error: failed to get path to newly allocated volume $volname\n";
|
||||||
if ($data_format eq 'raw' || $data_format eq 'qcow2' || $data_format eq 'vmdk') {
|
if ($data_format eq 'raw' || $data_format eq 'qcow2' || $data_format eq 'vmdk') {
|
||||||
run_command(['dd', "of=$file", 'conv=sparse', 'bs=64k'],
|
run_command(['dd', "of=$file", 'conv=sparse', 'bs=64k'],
|
||||||
|
|||||||
Reference in New Issue
Block a user