mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
nfs: new tracepoint in match_stateid operation
Add new tracepoints in the NFSv4 match_stateid minorversion op that show the info in both stateids. Reviewed-by: Benjamin Coddington <bcodding@redhat.com> Signed-off-by: Jeff Layton <jlayton@kernel.org> Link: https://lore.kernel.org/r/20250618-nfs-tracepoints-v2-4-540c9fb48da2@kernel.org Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
5dd03d14b3
commit
b0b7cdc994
|
|
@ -10692,6 +10692,8 @@ nfs41_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp)
|
|||
static bool nfs41_match_stateid(const nfs4_stateid *s1,
|
||||
const nfs4_stateid *s2)
|
||||
{
|
||||
trace_nfs41_match_stateid(s1, s2);
|
||||
|
||||
if (s1->type != s2->type)
|
||||
return false;
|
||||
|
||||
|
|
@ -10709,6 +10711,8 @@ static bool nfs41_match_stateid(const nfs4_stateid *s1,
|
|||
static bool nfs4_match_stateid(const nfs4_stateid *s1,
|
||||
const nfs4_stateid *s2)
|
||||
{
|
||||
trace_nfs4_match_stateid(s1, s2);
|
||||
|
||||
return nfs4_stateid_match(s1, s2);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1524,6 +1524,63 @@ DECLARE_EVENT_CLASS(nfs4_inode_stateid_callback_event,
|
|||
DEFINE_NFS4_INODE_STATEID_CALLBACK_EVENT(nfs4_cb_recall);
|
||||
DEFINE_NFS4_INODE_STATEID_CALLBACK_EVENT(nfs4_cb_layoutrecall_file);
|
||||
|
||||
#define show_stateid_type(type) \
|
||||
__print_symbolic(type, \
|
||||
{ NFS4_INVALID_STATEID_TYPE, "INVALID" }, \
|
||||
{ NFS4_SPECIAL_STATEID_TYPE, "SPECIAL" }, \
|
||||
{ NFS4_OPEN_STATEID_TYPE, "OPEN" }, \
|
||||
{ NFS4_LOCK_STATEID_TYPE, "LOCK" }, \
|
||||
{ NFS4_DELEGATION_STATEID_TYPE, "DELEGATION" }, \
|
||||
{ NFS4_LAYOUT_STATEID_TYPE, "LAYOUT" }, \
|
||||
{ NFS4_PNFS_DS_STATEID_TYPE, "PNFS_DS" }, \
|
||||
{ NFS4_REVOKED_STATEID_TYPE, "REVOKED" }, \
|
||||
{ NFS4_FREED_STATEID_TYPE, "FREED" })
|
||||
|
||||
DECLARE_EVENT_CLASS(nfs4_match_stateid_event,
|
||||
TP_PROTO(
|
||||
const nfs4_stateid *s1,
|
||||
const nfs4_stateid *s2
|
||||
),
|
||||
|
||||
TP_ARGS(s1, s2),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(int, s1_seq)
|
||||
__field(int, s2_seq)
|
||||
__field(u32, s1_hash)
|
||||
__field(u32, s2_hash)
|
||||
__field(int, s1_type)
|
||||
__field(int, s2_type)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->s1_seq = s1->seqid;
|
||||
__entry->s1_hash = nfs_stateid_hash(s1);
|
||||
__entry->s1_type = s1->type;
|
||||
__entry->s2_seq = s2->seqid;
|
||||
__entry->s2_hash = nfs_stateid_hash(s2);
|
||||
__entry->s2_type = s2->type;
|
||||
),
|
||||
|
||||
TP_printk(
|
||||
"s1=%s:%x:%u s2=%s:%x:%u",
|
||||
show_stateid_type(__entry->s1_type),
|
||||
__entry->s1_hash, __entry->s1_seq,
|
||||
show_stateid_type(__entry->s2_type),
|
||||
__entry->s2_hash, __entry->s2_seq
|
||||
)
|
||||
);
|
||||
|
||||
#define DEFINE_NFS4_MATCH_STATEID_EVENT(name) \
|
||||
DEFINE_EVENT(nfs4_match_stateid_event, name, \
|
||||
TP_PROTO( \
|
||||
const nfs4_stateid *s1, \
|
||||
const nfs4_stateid *s2 \
|
||||
), \
|
||||
TP_ARGS(s1, s2))
|
||||
DEFINE_NFS4_MATCH_STATEID_EVENT(nfs41_match_stateid);
|
||||
DEFINE_NFS4_MATCH_STATEID_EVENT(nfs4_match_stateid);
|
||||
|
||||
DECLARE_EVENT_CLASS(nfs4_idmap_event,
|
||||
TP_PROTO(
|
||||
const char *name,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user