Blame SOURCES/kvm-io-include-full-error-message-in-websocket-handshake.patch

9bac43
From 0ac33e4a0edae8877e2d400b9a3c5e7af902668f Mon Sep 17 00:00:00 2001
9bac43
From: "Daniel P. Berrange" <berrange@redhat.com>
9bac43
Date: Wed, 20 Dec 2017 17:56:44 +0100
9bac43
Subject: [PATCH 04/42] io: include full error message in websocket handshake
9bac43
 trace
9bac43
MIME-Version: 1.0
9bac43
Content-Type: text/plain; charset=UTF-8
9bac43
Content-Transfer-Encoding: 8bit
9bac43
9bac43
RH-Author: Daniel P. Berrange <berrange@redhat.com>
9bac43
Message-id: <20171220175702.29663-3-berrange@redhat.com>
9bac43
Patchwork-id: 78458
9bac43
O-Subject: [RHV-7.5 qemu-kvm-rhev PATCH v2 02/20] io: include full error message in websocket handshake trace
9bac43
Bugzilla: 1518649
9bac43
RH-Acked-by: John Snow <jsnow@redhat.com>
9bac43
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
9bac43
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
9bac43
9bac43
When the websocket handshake fails it is useful to log the real
9bac43
error message via the trace points for debugging purposes.
9bac43
9bac43
Fixes bug: #1715186
9bac43
9bac43
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
9bac43
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
9bac43
(cherry picked from commit 3a3f8705962c8c8a47a9b981ffd5aab7274ad508)
9bac43
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
9bac43
---
9bac43
 io/channel-websock.c | 7 ++++---
9bac43
 io/trace-events      | 2 +-
9bac43
 2 files changed, 5 insertions(+), 4 deletions(-)
9bac43
9bac43
diff --git a/io/channel-websock.c b/io/channel-websock.c
9bac43
index f5fac5b..6ddcec1 100644
9bac43
--- a/io/channel-websock.c
9bac43
+++ b/io/channel-websock.c
9bac43
@@ -507,7 +507,7 @@ static gboolean qio_channel_websock_handshake_send(QIOChannel *ioc,
9bac43
                             &err;;
9bac43
 
9bac43
     if (ret < 0) {
9bac43
-        trace_qio_channel_websock_handshake_fail(ioc);
9bac43
+        trace_qio_channel_websock_handshake_fail(ioc, error_get_pretty(err));
9bac43
         qio_task_set_error(task, err);
9bac43
         qio_task_complete(task);
9bac43
         return FALSE;
9bac43
@@ -516,7 +516,8 @@ static gboolean qio_channel_websock_handshake_send(QIOChannel *ioc,
9bac43
     buffer_advance(&wioc->encoutput, ret);
9bac43
     if (wioc->encoutput.offset == 0) {
9bac43
         if (wioc->io_err) {
9bac43
-            trace_qio_channel_websock_handshake_fail(ioc);
9bac43
+            trace_qio_channel_websock_handshake_fail(
9bac43
+                ioc, error_get_pretty(wioc->io_err));
9bac43
             qio_task_set_error(task, wioc->io_err);
9bac43
             wioc->io_err = NULL;
9bac43
             qio_task_complete(task);
9bac43
@@ -547,7 +548,7 @@ static gboolean qio_channel_websock_handshake_io(QIOChannel *ioc,
9bac43
          * client connection, as most of the time we have an
9bac43
          * HTTP 4xx err response to send instead
9bac43
          */
9bac43
-        trace_qio_channel_websock_handshake_fail(ioc);
9bac43
+        trace_qio_channel_websock_handshake_fail(ioc, error_get_pretty(err));
9bac43
         qio_task_set_error(task, err);
9bac43
         qio_task_complete(task);
9bac43
         return FALSE;
9bac43
diff --git a/io/trace-events b/io/trace-events
9bac43
index 3d23369..6459f71 100644
9bac43
--- a/io/trace-events
9bac43
+++ b/io/trace-events
9bac43
@@ -46,7 +46,7 @@ qio_channel_websock_new_server(void *ioc, void *master) "Websock new client ioc=
9bac43
 qio_channel_websock_handshake_start(void *ioc) "Websock handshake start ioc=%p"
9bac43
 qio_channel_websock_handshake_pending(void *ioc, int status) "Websock handshake pending ioc=%p status=%d"
9bac43
 qio_channel_websock_handshake_reply(void *ioc) "Websock handshake reply ioc=%p"
9bac43
-qio_channel_websock_handshake_fail(void *ioc) "Websock handshake fail ioc=%p"
9bac43
+qio_channel_websock_handshake_fail(void *ioc, const char *msg) "Websock handshake fail ioc=%p err=%s"
9bac43
 qio_channel_websock_handshake_complete(void *ioc) "Websock handshake complete ioc=%p"
9bac43
 
9bac43
 # io/channel-command.c
9bac43
-- 
9bac43
1.8.3.1
9bac43