Thread (6 messages) 6 messages, 5 authors, 2025-12-23

Re: [PATCH V2] blktrace: log dropped REQ_OP_ZONE_XXX events ver1

From: Damien Le Moal <dlemoal@kernel.org>
Date: 2025-12-19 23:55:54
Also in: linux-block

On 10/29/25 02:32, Chaitanya Kulkarni wrote:
quoted hunk ↗ jump to hunk
Add informational messages during blktrace setup when version 1 tools
are used on kernels with CONFIG_BLK_DEV_ZONED enabled. This alerts users
that REQ_OP_ZONE_* events will be dropped and suggests upgrading to
blktrace tools version 2 or later.

The warning is printed once during trace setup to inform users about
the limitation without spamming the logs during tracing operations.
Version 2 blktrace tools properly handle zone management operations
(zone reset, zone open, zone close, zone finish, zone append) that
were added for zoned block devices.

Example output:

blktests (master) # ./check blktrace
blktrace/001 (blktrace zone management command tracing)      [passed]
    runtime  0.110s  ...  3.917s
blktrace/002 (blktrace ftrace corruption with sysfs trace)   [passed]
    runtime  0.333s  ...  0.608s
blktests (master) # dmesg -c
[   57.610592] blktrace: nullb0: blktrace events for REQ_OP_ZONE_XXX will be dropped
[   57.610603] blktrace: use blktrace tools version >= 2 to track REQ_OP_ZONE_XXX

This helps users understand why zone operation traces may be missing
when using older blktrace tool versions with modern kernels that
support REQ_OP_ZONE_XXX in blktrace.

Signed-off-by: Chaitanya Kulkarni <redacted>
---
v1->v2 :-

Remove the extra () around IS_ENABLED(CONFIG_BLK_DEV_ZONED). (Jens)
Add a space after device name in first pr_info(). (Jens)

---
 kernel/trace/blktrace.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
index e4f26ddb7ee2..4a37d9aa0481 100644
--- a/kernel/trace/blktrace.c
+++ b/kernel/trace/blktrace.c
@@ -739,6 +739,12 @@ static void blk_trace_setup_finalize(struct request_queue *q,
 	 */
 	strreplace(buts->name, '/', '_');
 
+	if (version == 1 && IS_ENABLED(CONFIG_BLK_DEV_ZONED)) {
+		pr_info("%s: blktrace events for REQ_OP_ZONE_XXX will be dropped\n",
+				name);
+		pr_info("use blktrace tools version >= 2 to track REQ_OP_ZONE_XXX\n");
Please change REQ_OP_ZONE_XXX to "zone operations" in these messages. That is a
little more general, so better I think since we also trace zone write
plug/unplug events, which are not REQ_OP_ZONE_XXX.

With that done,

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
+	}
+
 	bt->version = version;
 	bt->act_mask = buts->act_mask;
 	if (!bt->act_mask)

-- 
Damien Le Moal
Western Digital Research
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help