[PATCH blktests v2 1/2] common/null_blk: introduce _have_null_blk_feature

Shin'ichiro Kawasaki
2024-01-09T10:45:23Z

Introduce a helper function _have_null_blk_feature which checks
/sys/kernel/config/features. It allows test cases to adapt to null_blk
feature support status.

Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
---
common/null_blk | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/common/null_blk b/common/null_blk
index 91b78d4..164125d 100644
--- a/common/null_blk
+++ b/common/null_blk
@@ -10,6 +10,21 @@ _have_null_blk() {
_have_driver null_blk
}

+_have_null_blk_feature() {
+ # Ensure that null_blk driver is built-in or loaded
+ if ! [[ -d /sys/module/null_blk ]]; then
+ if ! modprobe -q null_blk; then
+ return 1
+ fi
+ if [[ ! "${MODULES_TO_UNLOAD[*]}" =~ null_blk ]]; then
+ MODULES_TO_UNLOAD+=(null_blk)
+ fi
+ fi
+
+ # Check that null_blk has the specified feature
+ grep -qe "$1" /sys/kernel/config/nullb/features
+}
+
_remove_null_blk_devices() {
if [[ -d /sys/kernel/config/nullb ]]; then
find /sys/kernel/config/nullb -mindepth 1 -maxdepth 1 \
--
2.43.0