[pve-devel] [PATCH storage v3 01/13] plugin: export/import: fix calls to path() method
Fiona Ebner
f.ebner at proxmox.com
Thu Dec 19 11:43:04 CET 2024
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 at proxmox.com>
---
New in v3.
src/PVE/Storage/Plugin.pm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm
index 5deff76..92609ad 100644
--- a/src/PVE/Storage/Plugin.pm
+++ b/src/PVE/Storage/Plugin.pm
@@ -1697,7 +1697,7 @@ sub volume_export {
my $err_msg = "volume export format $format not available for $class\n";
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 $size = file_size_info($file, undef, $file_format);
@@ -1731,7 +1731,7 @@ sub volume_export {
sub volume_export_formats {
my ($class, $scfg, $storeid, $volname, $snapshot, $base_snapshot, $with_snapshots) = @_;
if ($scfg->{path} && !defined($snapshot) && !defined($base_snapshot)) {
- my $file = $class->path($scfg, $volname, $storeid)
+ my ($file) = $class->path($scfg, $volname, $storeid)
or return;
my $format = ($class->parse_volname($volname))[6];
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
# free it.
- my $file = $class->path($scfg, $volname, $storeid);
+ my ($file) = $class->path($scfg, $volname, $storeid);
if (-e $file) {
die "file '$file' already exists\n" if !$allow_rename;
warn "file '$file' already exists - importing with a different name\n";
@@ -1786,7 +1786,7 @@ sub volume_import {
if (defined($name) && $allocname ne $oldname) {
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";
if ($data_format eq 'raw' || $data_format eq 'qcow2' || $data_format eq 'vmdk') {
run_command(['dd', "of=$file", 'conv=sparse', 'bs=64k'],
--
2.39.5
More information about the pve-devel
mailing list