[PATCH 09/16] blktrace: remove struct blk_io_trace from __blk_add_trace

Johannes Thumshirn <[email protected]> Tue, 9 Sep 2025 13:06:04 +0200
Newsgroups org.kernel.vger.linux-btrace,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel,org.kernel.vger.linux-trace-kernel
Message-ID <[email protected]>
Now that relaying the blktrace protocol information via relayfs has been
removed from __blk_add_trace(), it only uses 'struct blk_io_trace' for the
ftrace portion of the function.

Directly pass in the reserved area of the ftrace ring buffer to
record_blktrace_event().

Signed-off-by: Johannes Thumshirn <[email protected]>
---
 kernel/trace/blktrace.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
index 5b97dc5e2cfd..14fb4e7296cf 100644
--- a/kernel/trace/blktrace.c
+++ b/kernel/trace/blktrace.c
@@ -258,7 +258,6 @@ static void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
 	struct task_struct *tsk = current;
 	struct ring_buffer_event *event = NULL;
 	struct trace_buffer *buffer = NULL;
-	struct blk_io_trace *t;
 	unsigned long flags = 0;
 	unsigned long *sequence;
 	unsigned int trace_ctx = 0;
@@ -290,19 +289,19 @@ static void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
 		return;
 	cpu = raw_smp_processor_id();
 
-	trace_len = sizeof(*t) + pdu_len + cgid_len;
 	if (blk_tracer) {
 		tracing_record_cmdline(current);
 
 		buffer = blk_tr->array_buffer.buffer;
 		trace_ctx = tracing_gen_ctx_flags(0);
+		trace_len = sizeof(struct blk_io_trace) + pdu_len + cgid_len;
 		event = trace_buffer_lock_reserve(buffer, TRACE_BLK,
 						  trace_len, trace_ctx);
 		if (!event)
 			return;
-		t = ring_buffer_event_data(event);
 
-		record_blktrace_event(t, pid, cpu, sector, bytes,
+		record_blktrace_event(ring_buffer_event_data(event),
+				      pid, cpu, sector, bytes,
 				      lower_32_bits(what), bt->dev, error,
 				      cgid, cgid_len, pdu_data, pdu_len);
 
-- 
2.51.0