diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2021-05-14 21:56:06 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2021-05-18 19:44:03 +0200 |
commit | 2958d2ee71021b6c44212ec6c2a39cc71d9cd4a9 (patch) | |
tree | 1ec3f6739554ae137872dbcbf090704899e19943 /fs/nfsd/nfs4state.c | |
parent | NFSD: Add nfsd_clid_destroyed tracepoint (diff) | |
download | linux-2958d2ee71021b6c44212ec6c2a39cc71d9cd4a9.tar.xz linux-2958d2ee71021b6c44212ec6c2a39cc71d9cd4a9.zip |
NFSD: Add a couple more nfsd_clid_expired call sites
Improve observation of NFSv4 lease expiry.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r-- | fs/nfsd/nfs4state.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 08ff643e96fb..2e7bbaa92684 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -2665,6 +2665,8 @@ static void force_expire_client(struct nfs4_client *clp) struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); bool already_expired; + trace_nfsd_clid_admin_expired(&clp->cl_clientid); + spin_lock(&clp->cl_lock); clp->cl_time = 0; spin_unlock(&clp->cl_lock); @@ -3211,6 +3213,7 @@ out_new: status = mark_client_expired_locked(conf); if (status) goto out; + trace_nfsd_clid_replaced(&conf->cl_clientid); } new->cl_minorversion = cstate->minorversion; new->cl_spo_must_allow.u.words[0] = exid->spo_must_allow[0]; @@ -3450,6 +3453,7 @@ nfsd4_create_session(struct svc_rqst *rqstp, old = NULL; goto out_free_conn; } + trace_nfsd_clid_replaced(&old->cl_clientid); } move_to_confirmed(unconf); conf = unconf; @@ -4078,6 +4082,7 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, old = NULL; goto out; } + trace_nfsd_clid_replaced(&old->cl_clientid); } move_to_confirmed(unconf); conf = unconf; @@ -5508,10 +5513,8 @@ nfs4_laundromat(struct nfsd_net *nn) clp = list_entry(pos, struct nfs4_client, cl_lru); if (!state_expired(<, clp->cl_time)) break; - if (mark_client_expired_locked(clp)) { - trace_nfsd_clid_expired(&clp->cl_clientid); + if (mark_client_expired_locked(clp)) continue; - } list_add(&clp->cl_lru, &reaplist); } spin_unlock(&nn->client_lock); |