Skip to content

Commit fc4eb48

Browse files
xuyang0410shuahkh
authored andcommitted
selftests/zram: Skip max_comp_streams interface on newer kernel
Since commit 43209ea ("zram: remove max_comp_streams internals"), zram has switched to per-cpu streams. Even kernel still keep this interface for some reasons, but writing to max_comp_stream doesn't take any effect. So skip it on newer kernel ie 4.7. The code that comparing kernel version is from xfstests testsuite ext4/053. Signed-off-by: Yang Xu <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
1 parent dede34b commit fc4eb48

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

tools/testing/selftests/zram/zram_lib.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ dev_mounted=-1
1111

1212
# Kselftest framework requirement - SKIP code is 4.
1313
ksft_skip=4
14+
kernel_version=`uname -r | cut -d'.' -f1,2`
15+
kernel_major=${kernel_version%.*}
16+
kernel_minor=${kernel_version#*.}
1417

1518
trap INT
1619

@@ -25,6 +28,20 @@ check_prereqs()
2528
fi
2629
}
2730

31+
kernel_gte()
32+
{
33+
major=${1%.*}
34+
minor=${1#*.}
35+
36+
if [ $kernel_major -gt $major ]; then
37+
return 0
38+
elif [[ $kernel_major -eq $major && $kernel_minor -ge $minor ]]; then
39+
return 0
40+
fi
41+
42+
return 1
43+
}
44+
2845
zram_cleanup()
2946
{
3047
echo "zram cleanup"
@@ -86,6 +103,13 @@ zram_max_streams()
86103
{
87104
echo "set max_comp_streams to zram device(s)"
88105

106+
kernel_gte 4.7
107+
if [ $? -eq 0 ]; then
108+
echo "The device attribute max_comp_streams was"\
109+
"deprecated in 4.7"
110+
return 0
111+
fi
112+
89113
local i=0
90114
for max_s in $zram_max_streams; do
91115
local sys_path="/sys/block/zram${i}/max_comp_streams"

0 commit comments

Comments
 (0)