NFS4: Add a trace event to record invalid CB sequence IDs
Help debug NFSv4 callback failures. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:

committed by
Anna Schumaker

parent
675dd90ad0
commit
c5833f0dc4
@@ -490,6 +490,44 @@ TRACE_EVENT(nfs4_cb_sequence,
|
||||
__entry->highest_slotid
|
||||
)
|
||||
);
|
||||
|
||||
TRACE_EVENT(nfs4_cb_seqid_err,
|
||||
TP_PROTO(
|
||||
const struct cb_sequenceargs *args,
|
||||
__be32 status
|
||||
),
|
||||
TP_ARGS(args, status),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned int, session)
|
||||
__field(unsigned int, slot_nr)
|
||||
__field(unsigned int, seq_nr)
|
||||
__field(unsigned int, highest_slotid)
|
||||
__field(unsigned int, cachethis)
|
||||
__field(int, error)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->session = nfs_session_id_hash(&args->csa_sessionid);
|
||||
__entry->slot_nr = args->csa_slotid;
|
||||
__entry->seq_nr = args->csa_sequenceid;
|
||||
__entry->highest_slotid = args->csa_highestslotid;
|
||||
__entry->cachethis = args->csa_cachethis;
|
||||
__entry->error = -be32_to_cpu(status);
|
||||
),
|
||||
|
||||
TP_printk(
|
||||
"error=%d (%s) session=0x%08x slot_nr=%u seq_nr=%u "
|
||||
"highest_slotid=%u",
|
||||
__entry->error,
|
||||
show_nfsv4_errors(__entry->error),
|
||||
__entry->session,
|
||||
__entry->slot_nr,
|
||||
__entry->seq_nr,
|
||||
__entry->highest_slotid
|
||||
)
|
||||
);
|
||||
|
||||
#endif /* CONFIG_NFS_V4_1 */
|
||||
|
||||
TRACE_EVENT(nfs4_setup_sequence,
|
||||
|
Reference in New Issue
Block a user