Skip to content

Commit ba017fd

Browse files
jtlaytonchucklever
authored andcommitted
nfsd: add more nfsd_cb tracepoints
Add some tracepoints in the callback client RPC operations. Also add a tracepoint to nfsd4_cb_getattr_done. Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: Chuck Lever <[email protected]>
1 parent c1c9f3e commit ba017fd

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

fs/nfsd/nfs4callback.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,6 +1223,7 @@ static void nfsd4_cb_prepare(struct rpc_task *task, void *calldata)
12231223
* cb_seq_status is only set in decode_cb_sequence4res,
12241224
* and so will remain 1 if an rpc level failure occurs.
12251225
*/
1226+
trace_nfsd_cb_rpc_prepare(clp);
12261227
cb->cb_seq_status = 1;
12271228
cb->cb_status = 0;
12281229
if (minorversion && !nfsd41_cb_get_slot(cb, task))
@@ -1329,6 +1330,8 @@ static void nfsd4_cb_done(struct rpc_task *task, void *calldata)
13291330
struct nfsd4_callback *cb = calldata;
13301331
struct nfs4_client *clp = cb->cb_clp;
13311332

1333+
trace_nfsd_cb_rpc_done(clp);
1334+
13321335
if (!nfsd4_cb_sequence_done(task, cb))
13331336
return;
13341337

@@ -1360,6 +1363,8 @@ static void nfsd4_cb_release(void *calldata)
13601363
{
13611364
struct nfsd4_callback *cb = calldata;
13621365

1366+
trace_nfsd_cb_rpc_release(cb->cb_clp);
1367+
13631368
if (cb->cb_need_restart)
13641369
nfsd4_queue_cb(cb);
13651370
else

fs/nfsd/nfs4state.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3057,7 +3057,10 @@ nfsd4_cb_getattr_done(struct nfsd4_callback *cb, struct rpc_task *task)
30573057
{
30583058
struct nfs4_cb_fattr *ncf =
30593059
container_of(cb, struct nfs4_cb_fattr, ncf_getattr);
3060+
struct nfs4_delegation *dp =
3061+
container_of(ncf, struct nfs4_delegation, dl_cb_fattr);
30603062

3063+
trace_nfsd_cb_getattr_done(&dp->dl_stid.sc_stateid, task);
30613064
ncf->ncf_cb_status = task->tk_status;
30623065
switch (task->tk_status) {
30633066
case -NFS4ERR_DELAY:

fs/nfsd/trace.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,6 +1486,9 @@ DEFINE_NFSD_CB_EVENT(new_state);
14861486
DEFINE_NFSD_CB_EVENT(probe);
14871487
DEFINE_NFSD_CB_EVENT(lost);
14881488
DEFINE_NFSD_CB_EVENT(shutdown);
1489+
DEFINE_NFSD_CB_EVENT(rpc_prepare);
1490+
DEFINE_NFSD_CB_EVENT(rpc_done);
1491+
DEFINE_NFSD_CB_EVENT(rpc_release);
14891492

14901493
TRACE_DEFINE_ENUM(RPC_AUTH_NULL);
14911494
TRACE_DEFINE_ENUM(RPC_AUTH_UNIX);
@@ -1845,6 +1848,7 @@ DEFINE_NFSD_CB_DONE_EVENT(nfsd_cb_recall_done);
18451848
DEFINE_NFSD_CB_DONE_EVENT(nfsd_cb_notify_lock_done);
18461849
DEFINE_NFSD_CB_DONE_EVENT(nfsd_cb_layout_done);
18471850
DEFINE_NFSD_CB_DONE_EVENT(nfsd_cb_offload_done);
1851+
DEFINE_NFSD_CB_DONE_EVENT(nfsd_cb_getattr_done);
18481852

18491853
TRACE_EVENT(nfsd_cb_recall_any_done,
18501854
TP_PROTO(

0 commit comments

Comments
 (0)