[PATCH blktests v2 1/1] nvme/{041,042,043,044,045}: check dhchap_ctrl_secret support by nvme-fabrics
Shin'ichiro Kawasaki
shinichiro.kawasaki at wdc.com
Sun Nov 19 18:49:31 PST 2023
The kernel commit d68006348288 ("nvme: rework NVME_AUTH Kconfig
selection") in v6.7-rc1 introduced a new kernel config option
NVME_HOST_AUTH. When the option is disabled, nvme test cases from 041 to
045 fail because nvme-fabrics module does not support the feature
dhchap_ctrl_secret.
To check the requirement, add _require_kernel_nvme_fabrics_feature()
which refers /dev/nvme-fabrics and checks if the specified feature
string is found or not. Call it to check dhchap_ctrl_secret support in
require() of the test cases.
This change relies on the kernel commit 1697d7d4c5ef ("nvme: blank out
authentication fabrics options if not configured").
Suggested-by: Daniel Wagner <dwagner at suse.de>
Suggested-by: Hannes Reinecke <hare at suse.de>
Reviewed-by: Daniel Wagner <dwagner at suse.de>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki at wdc.com>
---
tests/nvme/041 | 1 +
tests/nvme/042 | 1 +
tests/nvme/043 | 1 +
tests/nvme/044 | 1 +
tests/nvme/045 | 1 +
tests/nvme/rc | 16 ++++++++++++++++
6 files changed, 21 insertions(+)
diff --git a/tests/nvme/041 b/tests/nvme/041
index d23f10a..c4588d7 100755
--- a/tests/nvme/041
+++ b/tests/nvme/041
@@ -14,6 +14,7 @@ requires() {
_have_loop
_have_kernel_option NVME_AUTH
_have_kernel_option NVME_TARGET_AUTH
+ _require_kernel_nvme_fabrics_feature dhchap_ctrl_secret
_require_nvme_trtype_is_fabrics
_require_nvme_cli_auth
}
diff --git a/tests/nvme/042 b/tests/nvme/042
index 9fda681..815d65e 100755
--- a/tests/nvme/042
+++ b/tests/nvme/042
@@ -14,6 +14,7 @@ requires() {
_have_loop
_have_kernel_option NVME_AUTH
_have_kernel_option NVME_TARGET_AUTH
+ _require_kernel_nvme_fabrics_feature dhchap_ctrl_secret
_require_nvme_trtype_is_fabrics
_require_nvme_cli_auth
}
diff --git a/tests/nvme/043 b/tests/nvme/043
index c6a0aa0..e65abb0 100755
--- a/tests/nvme/043
+++ b/tests/nvme/043
@@ -14,6 +14,7 @@ requires() {
_have_loop
_have_kernel_option NVME_AUTH
_have_kernel_option NVME_TARGET_AUTH
+ _require_kernel_nvme_fabrics_feature dhchap_ctrl_secret
_require_nvme_trtype_is_fabrics
_require_nvme_cli_auth
_have_driver dh_generic
diff --git a/tests/nvme/044 b/tests/nvme/044
index 7bd43f3..9ee0747 100755
--- a/tests/nvme/044
+++ b/tests/nvme/044
@@ -14,6 +14,7 @@ requires() {
_have_loop
_have_kernel_option NVME_AUTH
_have_kernel_option NVME_TARGET_AUTH
+ _require_kernel_nvme_fabrics_feature dhchap_ctrl_secret
_require_nvme_trtype_is_fabrics
_require_nvme_cli_auth
_have_driver dh_generic
diff --git a/tests/nvme/045 b/tests/nvme/045
index 1eb1032..be408b6 100755
--- a/tests/nvme/045
+++ b/tests/nvme/045
@@ -15,6 +15,7 @@ requires() {
_have_loop
_have_kernel_option NVME_AUTH
_have_kernel_option NVME_TARGET_AUTH
+ _require_kernel_nvme_fabrics_feature dhchap_ctrl_secret
_require_nvme_trtype_is_fabrics
_require_nvme_cli_auth
_have_driver dh_generic
diff --git a/tests/nvme/rc b/tests/nvme/rc
index 1cff522..3c4b2e1 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -155,6 +155,22 @@ _require_nvme_cli_auth() {
return 0
}
+_require_kernel_nvme_fabrics_feature() {
+ local feature="$1"
+
+ _have_driver nvme-fabrics || return 1
+
+ if ! [[ -r /dev/nvme-fabrics ]]; then
+ SKIP_REASONS+=("/dev/nvme-fabrics not available")
+ return 1;
+ fi
+ if ! grep -qe "${feature}" /dev/nvme-fabrics; then
+ SKIP_REASONS+=("nvme-fabrics does not support ${feature}")
+ return 1;
+ fi
+ return 0
+}
+
_test_dev_nvme_ctrl() {
echo "/dev/char/$(cat "${TEST_DEV_SYSFS}/device/dev")"
}
--
2.41.0
More information about the Linux-nvme
mailing list