storage_migrate: also log with an insecure connection if there is a log function

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fabian Ebner
2020-01-29 14:30:02 +01:00
committed by Fabian Grünbichler
parent 94dd8b0cfa
commit aca83310dd

View File

@ -626,11 +626,21 @@ sub storage_migrate {
or die "failed to connect to tunnel at $ip:$port\n";
# we won't be reading from the socket
shutdown($socket, 0);
run_command([$send, @cstream], output => '>&'.fileno($socket));
run_command([$send, @cstream], output => '>&'.fileno($socket), logfunc => $logfunc);
# don't close the connection entirely otherwise the receiving end
# might not get all buffered data (and fails with 'connection reset by peer')
shutdown($socket, 1);
1 while <$info>; # wait for the remote process to finish
# wait for the remote process to finish
if ($logfunc) {
while (my $line = <$info>) {
chomp($line);
$logfunc->("[$target_sshinfo->{name}] $line");
}
} else {
1 while <$info>;
}
# now close the socket
close($socket);
if (!close($info)) { # does waitpid()