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>
This commit is contained in:
parent
c429595b80
commit
89c6bedc1c
@ -792,11 +792,16 @@ mgmt_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event,
|
||||
switch (event) {
|
||||
case RPC_CLNT_DISCONNECT:
|
||||
if (!ctx->active) {
|
||||
gf_msg ("glfs-mgmt", GF_LOG_ERROR, errno,
|
||||
API_MSG_REMOTE_HOST_CONN_FAILED,
|
||||
"failed to connect with remote-host: %s (%s)",
|
||||
ctx->cmd_args.volfile_server,
|
||||
strerror (errno));
|
||||
if (rpc_trans->connect_failed)
|
||||
gf_msg ("glfs-mgmt", GF_LOG_ERROR, 0,
|
||||
API_MSG_REMOTE_HOST_CONN_FAILED,
|
||||
"failed to connect to remote-host: %s",
|
||||
ctx->cmd_args.volfile_server);
|
||||
else
|
||||
gf_msg ("glfs-mgmt", GF_LOG_INFO, 0,
|
||||
API_MSG_REMOTE_HOST_CONN_FAILED,
|
||||
"disconnected from remote-host: %s",
|
||||
ctx->cmd_args.volfile_server);
|
||||
|
||||
if (!rpc->disabled) {
|
||||
/*
|
||||
|
@ -2100,9 +2100,20 @@ mgmt_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event,
|
||||
|
||||
switch (event) {
|
||||
case RPC_CLNT_DISCONNECT:
|
||||
GF_LOG_OCCASIONALLY (log_ctr1, "glusterfsd-mgmt", GF_LOG_ERROR,
|
||||
"failed to connect with remote-host: %s (%s)",
|
||||
ctx->cmd_args.volfile_server, strerror (errno));
|
||||
if (rpc_trans->connect_failed) {
|
||||
GF_LOG_OCCASIONALLY (log_ctr1, "glusterfsd-mgmt",
|
||||
GF_LOG_ERROR,
|
||||
"failed to connect to remote-"
|
||||
"host: %s",
|
||||
ctx->cmd_args.volfile_server);
|
||||
} else {
|
||||
GF_LOG_OCCASIONALLY (log_ctr1, "glusterfsd-mgmt",
|
||||
GF_LOG_INFO,
|
||||
"disconnected from remote-"
|
||||
"host: %s",
|
||||
ctx->cmd_args.volfile_server);
|
||||
}
|
||||
|
||||
if (!rpc->disabled) {
|
||||
/*
|
||||
* Check if dnscache is exhausted for current server
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user