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 --- 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"); + } + bt->version = version; bt->act_mask = buts->act_mask; if (!bt->act_mask) -- 2.40.0