Skip to content

Commit

Permalink
test: skip TEST-84-STORAGETM if running with bugged libnvme
Browse files Browse the repository at this point in the history
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.

linux-nvme/nvme-cli#2573

Fixes systemd/systemd#35130

(cherry picked from commit 893aa45886ef84b1827445dc438e410ad89fbbbf)
(cherry picked from commit d8ec2770b7bb6ba9f7e3c31cb8094a2983139952)
  • Loading branch information
bluca committed Nov 15, 2024
1 parent 45b39f9 commit 3471f60
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions test/units/testsuite-84.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 3471f60

Please sign in to comment.