]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
NFSD: Trace stateids returned via DELEGRETURN
authorChuck Lever <chuck.lever@oracle.com>
Fri, 28 Oct 2022 14:47:03 +0000 (10:47 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 28 Nov 2022 17:54:46 +0000 (12:54 -0500)
Handing out a delegation stateid is recorded with the
nfsd_deleg_read tracepoint, but there isn't a matching tracepoint
for recording when the stateid is returned.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
fs/nfsd/nfs4state.c
fs/nfsd/trace.h

index 16c3e991ddccb5b236a9c21027e26a6fc77a38d9..9ec66611a458b491cc1504fda5dbea34a36d3cad 100644 (file)
@@ -6917,6 +6917,7 @@ nfsd4_delegreturn(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
        if (status)
                goto put_stateid;
 
+       trace_nfsd_deleg_return(stateid);
        wake_up_var(d_inode(cstate->current_fh.fh_dentry));
        destroy_delegation(dp);
 put_stateid:
index 3fcfeb7b560f7516a08ddc7677835bd3919fcadc..00908f75e0a6a6d5f439f5f4b40e1cc07c5ad6a9 100644 (file)
@@ -604,6 +604,7 @@ DEFINE_STATEID_EVENT(layout_recall_release);
 
 DEFINE_STATEID_EVENT(open);
 DEFINE_STATEID_EVENT(deleg_read);
+DEFINE_STATEID_EVENT(deleg_return);
 DEFINE_STATEID_EVENT(deleg_recall);
 
 DECLARE_EVENT_CLASS(nfsd_stateseqid_class,