On Fri, May 10, 2024 at 12:33:39PM +0800, Zorro Lang wrote: > To avoid the dependence of debugfs, tracefs is mounted on another > place -- /sys/kernel/tracing now. But for the compatibility, the > /sys/kernel/debug/tracing is still there. So change _require_ftrace > helper, try to use the new /sys/kernel/tracing path at first, or > fallback to the old one if it's not supported. > > xfs/499 uses ftrace, so call _require_ftrace in it. > > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx> > --- > common/tracing | 13 +++++++++---- > tests/xfs/499 | 6 +++--- > 2 files changed, 12 insertions(+), 7 deletions(-) > > diff --git a/common/tracing b/common/tracing > index b3051c27..8613d044 100644 > --- a/common/tracing > +++ b/common/tracing > @@ -4,11 +4,16 @@ > # > # Routines for dealing with ftrace (or any other tracing). > > -FTRACE_INSTANCES_DIR="/sys/kernel/debug/tracing/instances/" > - > _require_ftrace() { > - test -d "$FTRACE_INSTANCES_DIR" || \ > - _notrun "kernel does not support ftrace" > + if [ -d /sys/kernel/tracing/instances/ ];then > + FTRACE_ROOT="/sys/kernel/tracing" > + FTRACE_INSTANCES_DIR="/sys/kernel/tracing/instances" To answer my own question, this new path has been in Debian since at least 2021. > + elif [ -d /sys/kernel/debug/tracing/instances/ ];then > + FTRACE_ROOT="/sys/kernel/debug/tracing" > + FTRACE_INSTANCES_DIR="/sys/kernel/debug/tracing/instances" > + else > + _notrun "The ftrace is not supported, or tracefs is not mounted" > + fi > } > > _ftrace_cleanup() { > diff --git a/tests/xfs/499 b/tests/xfs/499 > index 9672f95d..883415dc 100755 > --- a/tests/xfs/499 > +++ b/tests/xfs/499 > @@ -14,18 +14,18 @@ _begin_fstest auto quick > _register_cleanup "_cleanup" BUS > > # Import common functions. > +. ./common/tracing You could probably get rid of the "Import common functions" comment. This looks good! Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > > # real QA test starts here > _supported_fs xfs > +_require_ftrace > _require_command "$CC_PROG" "cc" > > cprog=$tmp.ftrace.c > oprog=$tmp.ftrace > sedprog=$tmp.ftrace.sed > > -ftrace_dir=$DEBUGFS_MNT/tracing/events/xfs > - > -test -d $ftrace_dir || _notrun "ftrace not enabled" > +ftrace_dir=$FTRACE_ROOT/events/xfs > > # The second argument to __print_symbolic is stringified in the tracepoint's > # fmt file, so we look for "{ NUM, STRING }" and try to separate each of them > -- > 2.44.0 > >