summaryrefslogtreecommitdiffstats
path: root/rpc
diff options
context:
space:
mode:
authorMilind Changire <mchangir@redhat.com>2017-03-05 21:39:20 +0530
committerJeff Darcy <jdarcy@redhat.com>2017-03-07 07:05:38 -0500
commit89c6bedc1c2e978f67ca29f212a357984cd8a2dd (patch)
tree7d61b9de38fc06b3c2407deae084347447f79b4f /rpc
parentc429595b80c23d2e10051cb9f70ed53f771e8f06 (diff)
rpc: avoid logging success on failure
Avoid logging Success in the event of failure especially when errno has no meaningful value w.r.t. the failure. In this case the errno is set to zero when there's indeed a failure at the RPC level. Change-Id: If2cc81aa1e590023ed22892dacbef7cac213e591 BUG: 1426032 Signed-off-by: Milind Changire <mchangir@redhat.com> Reviewed-on: https://review.gluster.org/16730 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: N Balachandran <nbalacha@redhat.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'rpc')
-rw-r--r--rpc/rpc-lib/src/rpc-transport.h5
-rw-r--r--rpc/rpc-transport/socket/src/socket.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/rpc/rpc-lib/src/rpc-transport.h b/rpc/rpc-lib/src/rpc-transport.h
index e3b630e2919..ff6567c198e 100644
--- a/rpc/rpc-lib/src/rpc-transport.h
+++ b/rpc/rpc-lib/src/rpc-transport.h
@@ -212,6 +212,11 @@ struct rpc_transport {
char *ssl_name;
dict_t *clnt_options; /* store options received from
* client */
+ /* connect_failed: saves the connect() syscall status as socket_t
+ * member holding connect() status can't be accessed by higher gfapi
+ * layer or in client management notification handler functions
+ */
+ gf_boolean_t connect_failed;
};
struct rpc_transport_ops {
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c
index 0ee75951207..d062cbbc4fb 100644
--- a/rpc/rpc-transport/socket/src/socket.c
+++ b/rpc/rpc-transport/socket/src/socket.c
@@ -3146,6 +3146,7 @@ socket_connect (rpc_transport_t *this, int port)
}
}
+ this->connect_failed = _gf_false;
if (ign_enoent) {
ret = connect_loop (priv->sock,
SA (&this->peerinfo.sockaddr),
@@ -3169,6 +3170,7 @@ socket_connect (rpc_transport_t *this, int port)
/* TBD: What about ENOENT, we will do getsockopt there
as well, so how is that exempt from such a problem? */
priv->connect_failed = 1;
+ this->connect_failed = _gf_true;
goto handler;
}