3604df
From 6f992bdb637612aff5fd30239c446e4b700f16e9 Mon Sep 17 00:00:00 2001
3604df
From: moagrawa <moagrawa@redhat.com>
3604df
Date: Thu, 13 Oct 2016 13:40:11 +0530
3604df
Subject: [PATCH 103/141] rpc/socket.c : Modify gf_log message in socket_poller code in case of error
3604df
3604df
Problem: In case of SSL after stopping the volume if client(mount point) is
3604df
         still trying to write the data on socket then it will throw an EIO
3604df
         error on that socket and given this log message is captured at every
3604df
         attempt this would flood the log file.
3604df
3604df
Solution: To reduce the frequency of stored log message use GF_LOG_OCCASIONALLY
3604df
          instead of gf_log.
3604df
3604df
> BUG: 1381115
3604df
> Change-Id: I66151d153c2cbfb017b3ebc4c52162278c0f537c
3604df
> Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
3604df
> Reviewed-on: http://review.gluster.org/15605
3604df
> Smoke: Gluster Build System <jenkins@build.gluster.org>
3604df
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
3604df
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
3604df
> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
3604df
> (cherry picked from commit 070145750006c87099f945b4990a4460d814c21f)
3604df
3604df
BUG: 1336377
3604df
Change-Id: I41491620deee54b65e54a7797280d6969f5872d4
3604df
Signed-off-by: moagrawa <moagrawa@redhat.com>
3604df
Reviewed-on: https://code.engineering.redhat.com/gerrit/86998
3604df
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
3604df
---
3604df
 rpc/rpc-transport/socket/src/socket.c |    9 ++++++---
3604df
 1 files changed, 6 insertions(+), 3 deletions(-)
3604df
3604df
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c
3604df
index f13d9b7..700157e 100644
3604df
--- a/rpc/rpc-transport/socket/src/socket.c
3604df
+++ b/rpc/rpc-transport/socket/src/socket.c
3604df
@@ -2409,7 +2409,7 @@ out:
3604df
 	return ret;
3604df
 }
3604df
 
3604df
-
3604df
+static int poll_err_cnt;
3604df
 static void *
3604df
 socket_poller (void *ctx)
3604df
 {
3604df
@@ -2545,8 +2545,11 @@ socket_poller (void *ctx)
3604df
 			break;
3604df
 		}
3604df
 		if (ret < 0 && errno != ENODATA) {
3604df
-			gf_log(this->name,GF_LOG_ERROR,
3604df
-			       "error in polling loop");
3604df
+                        GF_LOG_OCCASIONALLY (poll_err_cnt, this->name,
3604df
+                                             GF_LOG_ERROR,
3604df
+                                             "socket_poller %s failed (%s)",
3604df
+                                             this->peerinfo.identifier,
3604df
+                                             strerror (errno));
3604df
 			break;
3604df
 		}
3604df
                 if (priv->ot_gen != gen) {
3604df
-- 
3604df
1.7.1
3604df