Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d1c50c8 authored by Yang Xu's avatar Yang Xu Committed by Greg Kroah-Hartman
Browse files

selftests/zram: Skip max_comp_streams interface on newer kernel



[ Upstream commit fc4eb486a59d70bd35cf1209f0e68c2d8b979193 ]

Since commit 43209ea2 ("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: default avatarYang Xu <xuyang2018.jy@fujitsu.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 455ef08d
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -11,6 +11,9 @@ dev_mounted=-1

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

trap INT

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

kernel_gte()
{
	major=${1%.*}
	minor=${1#*.}

	if [ $kernel_major -gt $major ]; then
		return 0
	elif [[ $kernel_major -eq $major && $kernel_minor -ge $minor ]]; then
		return 0
	fi

	return 1
}

zram_cleanup()
{
	echo "zram cleanup"
@@ -86,6 +103,13 @@ zram_max_streams()
{
	echo "set max_comp_streams to zram device(s)"

	kernel_gte 4.7
	if [ $? -eq 0 ]; then
		echo "The device attribute max_comp_streams was"\
		               "deprecated in 4.7"
		return 0
	fi

	local i=0
	for max_s in $zram_max_streams; do
		local sys_path="/sys/block/zram${i}/max_comp_streams"