netfs: Adjust the netfs_failure tracepoint to indicate non-subreq lines
authorDavid Howells <dhowells@redhat.com>
Fri, 25 Feb 2022 16:24:03 +0000 (16:24 +0000)
committerDavid Howells <dhowells@redhat.com>
Fri, 18 Mar 2022 09:24:00 +0000 (09:24 +0000)
Adjust the netfs_failure tracepoint to indicate a subrequest number of -1
when it's a full-request failure unrelated to any particular subrequest,
such as a failure to encrypt its data buffer.

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
cc: linux-cachefs@redhat.com

Link: https://lore.kernel.org/r/164623001948.3564931.2353852999649380059.stgit@warthog.procyon.org.uk/
Link: https://lore.kernel.org/r/164678204587.1200972.14893513018190383961.stgit@warthog.procyon.org.uk/
Link: https://lore.kernel.org/r/164692903233.2099075.15414355147237641274.stgit@warthog.procyon.org.uk/
include/trace/events/netfs.h

index dcea5e8..556859b 100644 (file)
@@ -222,7 +222,7 @@ TRACE_EVENT(netfs_failure,
 
            TP_STRUCT__entry(
                    __field(unsigned int,               rreq            )
-                   __field(unsigned short,             index           )
+                   __field(short,                      index           )
                    __field(short,                      error           )
                    __field(unsigned short,             flags           )
                    __field(enum netfs_io_source,       source          )
@@ -234,17 +234,17 @@ TRACE_EVENT(netfs_failure,
 
            TP_fast_assign(
                    __entry->rreq       = rreq->debug_id;
-                   __entry->index      = sreq ? sreq->debug_index : 0;
+                   __entry->index      = sreq ? sreq->debug_index : -1;
                    __entry->error      = error;
                    __entry->flags      = sreq ? sreq->flags : 0;
                    __entry->source     = sreq ? sreq->source : NETFS_INVALID_READ;
                    __entry->what       = what;
-                   __entry->len        = sreq ? sreq->len : 0;
+                   __entry->len        = sreq ? sreq->len : rreq->len;
                    __entry->transferred = sreq ? sreq->transferred : 0;
                    __entry->start      = sreq ? sreq->start : 0;
                           ),
 
-           TP_printk("R=%08x[%u] %s f=%02x s=%llx %zx/%zx %s e=%d",
+           TP_printk("R=%08x[%d] %s f=%02x s=%llx %zx/%zx %s e=%d",
                      __entry->rreq, __entry->index,
                      __print_symbolic(__entry->source, netfs_sreq_sources),
                      __entry->flags,