NFSv4: Convert nfs_xdr_status tracepoint to an event class
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Thu, 1 Apr 2021 17:54:19 +0000 (13:54 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 14 Apr 2021 13:36:29 +0000 (09:36 -0400)
We would like the ability to record other XDR errors, particularly
those that are due to server bugs.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs4trace.h
fs/nfs/nfstrace.h

index 3c505be..114983a 100644 (file)
@@ -701,7 +701,7 @@ TRACE_EVENT(nfs4_xdr_bad_operation,
                )
 );
 
-TRACE_EVENT(nfs4_xdr_status,
+DECLARE_EVENT_CLASS(nfs4_xdr_event,
                TP_PROTO(
                        const struct xdr_stream *xdr,
                        u32 op,
@@ -736,6 +736,15 @@ TRACE_EVENT(nfs4_xdr_status,
                        __entry->op
                )
 );
+#define DEFINE_NFS4_XDR_EVENT(name) \
+       DEFINE_EVENT(nfs4_xdr_event, name, \
+                       TP_PROTO( \
+                               const struct xdr_stream *xdr, \
+                               u32 op, \
+                               u32 error \
+                       ), \
+                       TP_ARGS(xdr, op, error))
+DEFINE_NFS4_XDR_EVENT(nfs4_xdr_status);
 
 DECLARE_EVENT_CLASS(nfs4_cb_error_class,
                TP_PROTO(
index 41a161c..45eda4d 100644 (file)
@@ -1401,7 +1401,7 @@ TRACE_DEFINE_ENUM(NFSERR_JUKEBOX);
                        { NFSERR_BADTYPE, "BADTYPE" }, \
                        { NFSERR_JUKEBOX, "JUKEBOX" })
 
-TRACE_EVENT(nfs_xdr_status,
+DECLARE_EVENT_CLASS(nfs_xdr_event,
                TP_PROTO(
                        const struct xdr_stream *xdr,
                        int error
@@ -1443,6 +1443,14 @@ TRACE_EVENT(nfs_xdr_status,
                        nfs_show_status(__entry->error)
                )
 );
+#define DEFINE_NFS_XDR_EVENT(name) \
+       DEFINE_EVENT(nfs_xdr_event, name, \
+                       TP_PROTO( \
+                               const struct xdr_stream *xdr, \
+                               int error \
+                       ), \
+                       TP_ARGS(xdr, error))
+DEFINE_NFS_XDR_EVENT(nfs_xdr_status);
 
 #endif /* _TRACE_NFS_H */