[pve-devel] [PATCH storage v5 7/7] storage migrate: avoid ssh when moving a volume locally

Filip Schauer f.schauer at proxmox.com
Tue Nov 26 16:23:25 CET 2024


Avoid the overhead of SSH when moving a volume between storages on the
same node.

Signed-off-by: Filip Schauer <f.schauer at proxmox.com>
---
 src/PVE/Storage.pm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm
index 5d25a2a..c1f383a 100755
--- a/src/PVE/Storage.pm
+++ b/src/PVE/Storage.pm
@@ -823,8 +823,6 @@ sub storage_migrate {
 
     my $target_volid = "${target_storeid}:${target_volname}";
 
-    my $target_ip = $target_sshinfo->{ip};
-
     my $ssh = PVE::SSHInfo::ssh_info_to_command($target_sshinfo);
     my $ssh_base = PVE::SSHInfo::ssh_info_to_command_base($target_sshinfo);
     local $ENV{RSYNC_RSH} = PVE::Tools::cmd2string($ssh_base);
@@ -844,7 +842,9 @@ sub storage_migrate {
 	$import_fn = "tcp://$net";
     }
 
-    my $recv = [ @$ssh, '--', $volume_import_prepare->($target_volid, $format, $import_fn, $opts)->@* ];
+    my $recv = [];
+    push @$recv, (@$ssh, '--') if $target_sshinfo->{ip} ne "localhost";
+    push @$recv, ($volume_import_prepare->($target_volid, $format, $import_fn, $opts)->@*);
 
     my $new_volid;
     my $pattern = volume_imported_message(undef, 1);
-- 
2.39.5





More information about the pve-devel mailing list