From 726c432964fd0c1ef4433f153663b3d3f66cc72c Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Thu, 3 Mar 2022 13:31:21 +0100 Subject: [PATCH] zfs: volume import: use correct format for renaming Previously, the transport format (which currently is always 'zfs') was passed in, resulting in subvol-disks not to be renamed correctly. Fixes: a97d3ee ("Introduce allow_rename parameter for pvesm import and storage_migrate") Signed-off-by: Fabian Ebner Signed-off-by: Wolfgang Bumiller --- PVE/Storage/ZFSPoolPlugin.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PVE/Storage/ZFSPoolPlugin.pm b/PVE/Storage/ZFSPoolPlugin.pm index e952a5c..343f833 100644 --- a/PVE/Storage/ZFSPoolPlugin.pm +++ b/PVE/Storage/ZFSPoolPlugin.pm @@ -770,7 +770,9 @@ sub volume_import { die "internal error: invalid file handle for volume_import\n" if !defined($fd); - my (undef, $dataset, $vmid) = $class->parse_volname($volname); + my (undef, $dataset, $vmid, undef, undef, undef, $volume_format) = + $class->parse_volname($volname); + my $zfspath = "$scfg->{pool}/$dataset"; my $suffix = defined($base_snapshot) ? "\@$base_snapshot" : ''; my $exists = 0 == run_command(['zfs', 'get', '-H', 'name', $zfspath.$suffix], @@ -780,7 +782,7 @@ sub volume_import { } elsif ($exists) { die "volume '$zfspath' already exists\n" if !$allow_rename; warn "volume '$zfspath' already exists - importing with a different name\n"; - $dataset = $class->find_free_diskname($storeid, $scfg, $vmid, $format); + $dataset = $class->find_free_diskname($storeid, $scfg, $vmid, $volume_format); $zfspath = "$scfg->{pool}/$dataset"; } -- 2.39.5