Am 20.01.25 um 12:28 schrieb Filip Schauer:
> Avoid the overhead of SSH when moving a volume between storages on the
> same node.
> 
> Signed-off-by: Filip Schauer <f.scha...@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 761f612..a2bef55 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";

Instead of having a special value for the target IP, we could make the
$target_sshinfo parameter optional. Because right now, you still do the
lookup/command building with the PVE::SSHInfo calls above that are not
required in this case.

If you go for that, the patch is better ordered first.

> +    push @$recv, ($volume_import_prepare->($target_volid, $format, 
> $import_fn, $opts)->@*);
>  
>      my $new_volid;
>      my $pattern = volume_imported_message(undef, 1);



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to