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 <dhowe...@redhat.com>
cc: linux-cachefs@redhat.com

Link: 
https://lore.kernel.org/r/164623001948.3564931.2353852999649380059.st...@warthog.procyon.org.uk/
 # v1
---

 include/trace/events/netfs.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/trace/events/netfs.h b/include/trace/events/netfs.h
index ddf34cb476dc..273ae5f6a54c 100644
--- a/include/trace/events/netfs.h
+++ b/include/trace/events/netfs.h
@@ -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,


--
Linux-cachefs mailing list
Linux-cachefs@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-cachefs

Reply via email to