From aca83310ddca8750b8cb9eee9d97459a9ecea6c1 Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Wed, 29 Jan 2020 14:30:02 +0100 Subject: [PATCH] storage_migrate: also log with an insecure connection if there is a log function Signed-off-by: Fabian Ebner --- PVE/Storage.pm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/PVE/Storage.pm b/PVE/Storage.pm index 5fefa06..2b292f6 100755 --- a/PVE/Storage.pm +++ b/PVE/Storage.pm @@ -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() -- 2.39.2