From 3471f60ff51ae764c91035d874848bd78fc3e6b9 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Thu, 14 Nov 2024 16:19:25 +0000 Subject: [PATCH] test: skip TEST-84-STORAGETM if running with bugged libnvme libnvme 1.11 appears to require a kernel built with NVME TLS kconfigs, and fails hard if it is not, as the expected privileged keyring '.nvme' is not present. We cannot just create it from userspace, as privileged keyrings can only be created by the kernel itself (those starting with '.'). Skip the test if the library exactly matches this version. https://github.com/linux-nvme/nvme-cli/issues/2573 Fixes https://github.com/systemd/systemd/issues/35130 (cherry picked from commit 893aa45886ef84b1827445dc438e410ad89fbbbf) (cherry picked from commit d8ec2770b7bb6ba9f7e3c31cb8094a2983139952) --- test/units/testsuite-84.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/units/testsuite-84.sh b/test/units/testsuite-84.sh index eae87d52341..c5cb8989020 100755 --- a/test/units/testsuite-84.sh +++ b/test/units/testsuite-84.sh @@ -3,6 +3,14 @@ set -eux set -o pipefail +if systemd-analyze compare-versions "$(nvme --version | grep libnvme | awk '{print $3}')" eq 1.11; then + if grep -q "CONFIG_NVME_TCP_TLS is not set" "/boot/config-$(uname -r)" 2>/dev/null || grep -q "CONFIG_NVME_TCP_TLS is not set" "/usr/lib/modules/$(uname -r)/config" 2>/dev/null; then + # See: https://github.com/linux-nvme/nvme-cli/issues/2573 + echo "nvme-cli is broken and requires TLS support in the kernel" >/skipped + exit 77 + fi +fi + modprobe -v nvmet-tcp modprobe -v nvme-tcp