NFS: Refactor trace_nfs4_offload_cancel

Add a trace_nfs4_offload_status trace point that looks just like
trace_nfs4_offload_cancel. Promote that event to an event class to
avoid duplicating code.

An alternative approach would be to expand trace_nfs4_offload_status
to report more of the actual OFFLOAD_STATUS result.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Link: https://lore.kernel.org/r/20250113153235.48706-16-cel@kernel.org
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
Chuck Lever 2025-01-13 10:32:42 -05:00 committed by Trond Myklebust
parent adcc0aef9e
commit 2d6a194f4b
2 changed files with 11 additions and 1 deletions

View File

@ -648,6 +648,7 @@ _nfs42_proc_offload_status(struct nfs_server *server, struct file *file,
status = nfs4_call_sync(server->client, server, &msg,
&data->args.osa_seq_args,
&data->res.osr_seq_res, 1);
trace_nfs4_offload_status(&data->args, status);
switch (status) {
case 0:
break;

View File

@ -2608,7 +2608,7 @@ TRACE_EVENT(nfs4_copy_notify,
)
);
TRACE_EVENT(nfs4_offload_cancel,
DECLARE_EVENT_CLASS(nfs4_offload_class,
TP_PROTO(
const struct nfs42_offload_status_args *args,
int error
@ -2640,6 +2640,15 @@ TRACE_EVENT(nfs4_offload_cancel,
__entry->stateid_seq, __entry->stateid_hash
)
);
#define DEFINE_NFS4_OFFLOAD_EVENT(name) \
DEFINE_EVENT(nfs4_offload_class, name, \
TP_PROTO( \
const struct nfs42_offload_status_args *args, \
int error \
), \
TP_ARGS(args, error))
DEFINE_NFS4_OFFLOAD_EVENT(nfs4_offload_cancel);
DEFINE_NFS4_OFFLOAD_EVENT(nfs4_offload_status);
DECLARE_EVENT_CLASS(nfs4_xattr_event,
TP_PROTO(