summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4state.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2019-11-05 17:04:07 +0100
committerTrond Myklebust <trond.myklebust@hammerspace.com>2019-11-18 10:58:39 +0100
commit511ba52e4c01fd1878140774e6215e0de6c2f36f (patch)
tree46c3c10efddf5445dc6eac17cbada8f067231a3a /fs/nfs/nfs4state.c
parentMerge tag 'nfs-rdma-for-5.5-1' of git://git.linux-nfs.org/projects/anna/linux... (diff)
downloadlinux-511ba52e4c01fd1878140774e6215e0de6c2f36f.tar.xz
linux-511ba52e4c01fd1878140774e6215e0de6c2f36f.zip
NFS4: Trace state recovery operation
Add a trace point in the main state manager loop to observe state recovery operation. Help track down state recovery bugs. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r--fs/nfs/nfs4state.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index ba97b9cf632c..4c4d05d2848b 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -60,6 +60,7 @@
#include "nfs4session.h"
#include "pnfs.h"
#include "netns.h"
+#include "nfs4trace.h"
#define NFSDBG_FACILITY NFSDBG_STATE
@@ -2539,6 +2540,7 @@ static void nfs4_state_manager(struct nfs_client *clp)
/* Ensure exclusive access to NFSv4 state */
do {
+ trace_nfs4_state_mgr(clp);
clear_bit(NFS4CLNT_RUN_MANAGER, &clp->cl_state);
if (test_bit(NFS4CLNT_PURGE_STATE, &clp->cl_state)) {
section = "purge state";
@@ -2652,6 +2654,7 @@ static void nfs4_state_manager(struct nfs_client *clp)
out_error:
if (strlen(section))
section_sep = ": ";
+ trace_nfs4_state_mgr_failed(clp, section, status);
pr_warn_ratelimited("NFS: state manager%s%s failed on NFSv4 server %s"
" with error %d\n", section_sep, section,
clp->cl_hostname, -status);