[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e5654353-9850-beb5-cf72-7a7473a14743@huawei.com>
Date: Wed, 7 Dec 2022 09:34:57 +0800
From: Yang Jihong <yangjihong1@...wei.com>
To: <axboe@...nel.dk>, <rostedt@...dmis.org>, <mhiramat@...nel.org>,
<acme@...hat.com>, <mingo@...e.hu>, <linux-block@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] blktrace: Fix output non-blktrace event when blk_classic
option enabled
Hello,
PING.
Thanks,
Yang.
On 2022/11/22 12:04, Yang Jihong wrote:
> When the blk_classic option is enabled, non-blktrace events must be
> filtered out. Otherwise, events of other types are output in the blktrace
> classic format, which is unexpected.
>
> The problem can be triggered in the following ways:
>
> # echo 1 > /sys/kernel/debug/tracing/options/blk_classic
> # echo 1 > /sys/kernel/debug/tracing/events/enable
> # echo blk > /sys/kernel/debug/tracing/current_tracer
> # cat /sys/kernel/debug/tracing/trace_pipe
>
> Fixes: c71a89615411 ("blktrace: add ftrace plugin")
> Signed-off-by: Yang Jihong <yangjihong1@...wei.com>
> ---
> kernel/trace/blktrace.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
> index a995ea1ef849..a66cff5a1857 100644
> --- a/kernel/trace/blktrace.c
> +++ b/kernel/trace/blktrace.c
> @@ -1548,7 +1548,8 @@ blk_trace_event_print_binary(struct trace_iterator *iter, int flags,
>
> static enum print_line_t blk_tracer_print_line(struct trace_iterator *iter)
> {
> - if (!(blk_tracer_flags.val & TRACE_BLK_OPT_CLASSIC))
> + if ((iter->ent->type != TRACE_BLK) ||
> + !(blk_tracer_flags.val & TRACE_BLK_OPT_CLASSIC))
> return TRACE_TYPE_UNHANDLED;
>
> return print_one_line(iter, true);
>
Powered by blists - more mailing lists