selftests/damon/_damon_sysfs: find sysfs mount point from /proc/mounts
authorSeongJae Park <sj@kernel.org>
Fri, 3 May 2024 18:03:11 +0000 (11:03 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 11 May 2024 22:41:33 +0000 (15:41 -0700)
_damon_sysfs.py assumes sysfs is mounted at /sys.  In some systems, that
might not be true.  Find the mount point from /proc/mounts file content.

Link: https://lkml.kernel.org/r/20240503180318.72798-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/damon/_damon_sysfs.py

index 43239e5b38b269f6bf56aba99e775f98fb679845..9682e18dd4503869a69de08c81fda15d038f825a 100644 (file)
@@ -2,7 +2,18 @@
 
 import os
 
-sysfs_root = '/sys/kernel/mm/damon/admin'
+ksft_skip=4
+
+sysfs_root = None
+with open('/proc/mounts', 'r') as f:
+    for line in f:
+        dev_name, mount_point, dev_fs = line.split()[:3]
+        if dev_fs == 'sysfs':
+            sysfs_root = '%s/kernel/mm/damon/admin' % mount_point
+            break
+if sysfs_root is None:
+    print('Seems sysfs not mounted?')
+    exit(ksft_skip)
 
 def write_file(path, string):
     "Returns error string if failed, or None otherwise"