Blob Blame History Raw
From d5ec5956a627bdff35e9a92b55226be79b10fc6a Mon Sep 17 00:00:00 2001
From: Niels de Vos <ndevos@redhat.com>
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 <ndevos@redhat.com>
> > Reviewed-on: http://review.gluster.org/11107
> > Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
> > Tested-by: Gluster Build System <jenkins@build.gluster.com>
> > Reviewed-by: soumya k <skoduri@redhat.com>
> > Reviewed-by: jiffin tony Thottan <jthottan@redhat.com>
>
> Change-Id: Ib9006d95a5d1f7dd394bf5d5994ad70740ad4ab2
> BUG: 1228729
> Signed-off-by: Niels de Vos <ndevos@redhat.com>

Change-Id: Ib9006d95a5d1f7dd394bf5d5994ad70740ad4ab2
BUG: 1224215
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/50478
Reviewed-by: Jiffin Thottan <jthottan@redhat.com>
Reviewed-by: Soumya Koduri <skoduri@redhat.com>
---
 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