[PATCH] common/tracing: use /sys/kernel/tracing at first

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



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"
+	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
 
 # 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





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux