On 1/9/24 02:44, Shin'ichiro Kawasaki wrote:
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@xxxxxxx>
---
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 \
Shouldn't _have_null_blk_feature() unload the null_blk kernel module if it
loads that kernel module? That will allow to simplify the next patch in this
series.
Thanks,
Bart.