[pve-devel] [PATCH storage 4/16] storage_migrate: also log with an insecure connection if there is a log function

Fabian Ebner f.ebner at proxmox.com
Wed Jan 29 14:30:02 CET 2020


Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
 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.20.1





More information about the pve-devel mailing list