From d5ec5956a627bdff35e9a92b55226be79b10fc6a Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Thu, 11 Jun 2015 01:10:08 +0200 Subject: [PATCH 43/57] logging: log "Stale filehandle" on the client as Debug There are valid use-cases where a "Stale filehandle" is expected. One of these is deleting a file through NFS-Ganesha. When the "filename" is deleted, Ganesha will stat the file-handle to update its attributes. The file-handle would still be valid in the case where there are hardlinks. There is no need to log "Stale filehandle" as Warning. It is perfectly fine to have this logged as Debug. Backported from http://review.gluster.org/11169: > Cherry picked from commit ec7d0c3de11cbee1470308dcc10ec9f02e7fdfff: > > Change-Id: Ib9006d95a5d1f7dd394bf5d5994ad70740ad4ab2 > > BUG: 1228731 > > Signed-off-by: Niels de Vos > > Reviewed-on: http://review.gluster.org/11107 > > Reviewed-by: Kaleb KEITHLEY > > Tested-by: Gluster Build System > > Reviewed-by: soumya k > > Reviewed-by: jiffin tony Thottan > > Change-Id: Ib9006d95a5d1f7dd394bf5d5994ad70740ad4ab2 > BUG: 1228729 > Signed-off-by: Niels de Vos Change-Id: Ib9006d95a5d1f7dd394bf5d5994ad70740ad4ab2 BUG: 1224215 Signed-off-by: Niels de Vos Reviewed-on: https://code.engineering.redhat.com/gerrit/50478 Reviewed-by: Jiffin Thottan Reviewed-by: Soumya Koduri --- xlators/protocol/client/src/client-rpc-fops.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/xlators/protocol/client/src/client-rpc-fops.c b/xlators/protocol/client/src/client-rpc-fops.c index d4021f5..e5912bd 100644 --- a/xlators/protocol/client/src/client-rpc-fops.c +++ b/xlators/protocol/client/src/client-rpc-fops.c @@ -476,7 +476,6 @@ client3_3_stat_cbk (struct rpc_req *req, struct iovec *iov, int count, xlator_t *this = NULL; dict_t *xdata = NULL; - this = THIS; frame = myframe; @@ -504,7 +503,11 @@ client3_3_stat_cbk (struct rpc_req *req, struct iovec *iov, int count, out: if (rsp.op_ret == -1) { - gf_log (this->name, GF_LOG_WARNING, "remote operation failed: %s", + /* stale filehandles are possible during normal operations, no + * need to spam the logs with these */ + gf_log (this->name, + rsp.op_errno == ESTALE ? GF_LOG_DEBUG : GF_LOG_WARNING, + "remote operation failed: %s", strerror (gf_error_to_errno (rsp.op_errno))); } -- 1.7.1