Message ID | 20221122040410.85113-1-yangjihong1@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | blktrace: Fix output non-blktrace event when blk_classic option enabled | expand |
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@huawei.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); >
On 12/6/22 6:34 PM, Yang Jihong wrote: > Hello, > > PING. Get your company email fixed so that messages don't get marked as spam, that would help ensure your patches are more visible.
On Tue, 22 Nov 2022 12:04:10 +0800, 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 > > [...] Applied, thanks! [1/1] blktrace: Fix output non-blktrace event when blk_classic option enabled commit: f596da3efaf4130ff61cd029558845808df9bf99 Best regards,
Hello, On 2022/12/9 0:26, Jens Axboe wrote: > Get your company email fixed so that messages don't get marked as spam, > that would help ensure your patches are more visible. OK, I'll consult with the relevant department of our company about this issue. Thanks, Yang
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);
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@huawei.com> --- kernel/trace/blktrace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)