* [PATCH blktests v2] blktests: Add _have_kernel_config_file() and _check_kernel_option()
@ 2022-06-27 7:32 Xiao Yang
2022-06-28 8:53 ` Shinichiro Kawasaki
0 siblings, 1 reply; 2+ messages in thread
From: Xiao Yang @ 2022-06-27 7:32 UTC (permalink / raw)
To: linux-block; +Cc: shinichiro.kawasaki, Xiao Yang
1) _have_kernel_config_file() sets SKIP_REASON when neither
/boot/config* nor /proc/config.gz is available.
2) _check_kernel_option() doesn't set SKIP_RESAON when
the specified kernel option is not defined.
3) _have_kernel_option() combines _have_kernel_config_file() and
_check_kernel_option() and then sets SKIP_RESAON when
_check_kernel_option() returns false.
Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
---
common/multipath-over-rdma | 3 ++-
common/rc | 29 ++++++++++++++++++++++++-----
tests/nvme/039 | 3 +--
tests/nvmeof-mp/rc | 6 ++----
4 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma
index f9d7b9a..8a2108f 100644
--- a/common/multipath-over-rdma
+++ b/common/multipath-over-rdma
@@ -19,7 +19,8 @@ if [ $ramdisk_size -gt $max_ramdisk_size ]; then
fi
_have_legacy_dm() {
- if ! _have_kernel_option DM_MQ_DEFAULT; then
+ _have_kernel_config_file || return
+ if ! _check_kernel_option DM_MQ_DEFAULT; then
SKIP_REASON="legacy device mapper support is missing"
return 1
fi
diff --git a/common/rc b/common/rc
index d18144b..bf6cd10 100644
--- a/common/rc
+++ b/common/rc
@@ -149,25 +149,44 @@ _have_configfs() {
return 0
}
-_have_kernel_option() {
- local f opt=$1
-
+# Check if the specified kernel config files are available.
+_have_kernel_config_file() {
if [[ ! -f /proc/config.gz && ! -f /boot/config-$(uname -r) ]]; then
SKIP_REASON="kernel $(uname -r) config not found"
return 1
fi
+
+ return 0
+}
+
+# Check if the specified kernel option is defined.
+_check_kernel_option() {
+ local f opt=$1
+
for f in /proc/config.gz /boot/config-$(uname -r); do
[ -e "$f" ] || continue
if zgrep -q "^CONFIG_${opt}=[my]$" "$f"; then
return 0
- else
- SKIP_REASON="kernel option $opt has not been enabled"
fi
done
return 1
}
+# Combine _have_kernel_config_file() and _check_kernel_option().
+# Set SKIP_RESAON when _check_kernel_option() returns false.
+_have_kernel_option() {
+ local opt=$1
+
+ _have_kernel_config_file || return
+ if ! _check_kernel_option "$opt"; then
+ SKIP_REASON="kernel option $opt has not been enabled"
+ return 1
+ fi
+
+ return 0
+}
+
# Check whether the version of the running kernel is greater than or equal to
# $1.$2.$3
_have_kver() {
diff --git a/tests/nvme/039 b/tests/nvme/039
index 85827fa..e175055 100755
--- a/tests/nvme/039
+++ b/tests/nvme/039
@@ -128,10 +128,9 @@ test_device() {
echo "Running ${TEST_NAME}"
- if _have_kernel_option NVME_VERBOSE_ERRORS; then
+ if _check_kernel_option NVME_VERBOSE_ERRORS; then
nvme_verbose_errors=true
else
- unset SKIP_REASON
nvme_verbose_errors=false
fi
diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc
index 708196b..2ae80c3 100755
--- a/tests/nvmeof-mp/rc
+++ b/tests/nvmeof-mp/rc
@@ -14,19 +14,17 @@ ini_timeout=1
group_requires() {
local m name p required_modules
+ _have_kernel_config_file || return
# Since the nvmeof-mp tests are based on the dm-mpath driver, these
# tests are incompatible with the NVME_MULTIPATH kernel configuration
# option with multipathing enabled in the nvme_core kernel module.
- if _have_kernel_option NVME_MULTIPATH && \
+ if _check_kernel_option NVME_MULTIPATH && \
_have_module_param_value nvme_core multipath Y; then
SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config \
and multipathing has been enabled in the nvme_core kernel module"
return
fi
- # Avoid test skip due to SKIP_REASON set by _have_kernel_option().
- unset SKIP_REASON
-
_have_configfs || return
required_modules=(
dm_multipath
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-06-28 8:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-27 7:32 [PATCH blktests v2] blktests: Add _have_kernel_config_file() and _check_kernel_option() Xiao Yang
2022-06-28 8:53 ` Shinichiro Kawasaki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox