[PATCH blktests] nbd/004: drop the check for "couldn't allocate config" message
The test case nbd/004 was created to confirm the fix by the kernel
commit 06c4da89c24e ("nbd: call genl_unregister_family() first in
nbd_cleanup()"). Originally, the test case was created to check that the
kernel commit avoided a BUG. But the BUG was not recreated on my system
even without the kernel commit, so I was not able to confirm that the
test case was working as expected. On the other hand, I found that the
kernel commit avoided the two other kernel messages "couldn't allocate
config" and "cannot create duplicate filename" on my test system. Then I
suggested adding the checks for those messages to the test case, and the
checks were added [1].
However, it turned out that the kernel commit did not totally avoid the
message "couldn't allocate config". The test case still makes the kernel
report the message with a low ratio. The failure is recreated when the
test case is repeated around 30 times. The CKI project reported that
nbd/004 fails due to the message [2].
When the failure happens, try_module_get() fails in nbd_genl_context():
nbd_genl_connect()
nbd_alloc_and_init_config()
try_module_get() ... fails
This try_module_get() call checks that the module is not unloaded during
the connect operation. The test case does "module load/unload
concurrently with connect/disconnect" then the try_module_get() failure
is expected. It means the failure is false-positive.
Drop the wrong check for "couldn't allocate config" message. Still keep
the check for "cannot create duplicate filename".
[1] https://lore.kernel.org/linux-block/20220707124945.c2rd677hjwkd7mim@shindev/
[2] https://github.com/osandov/blktests/issues/140
Fixes: 349eb683fd06 ("nbd: add a module load and device connect test")
Reported-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
---
tests/nbd/004 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/nbd/004 b/tests/nbd/004
index 1758859..a866ea5 100755
--- a/tests/nbd/004
+++ b/tests/nbd/004
@@ -50,8 +50,8 @@ test() {
_stop_nbd_server_netlink
- if _dmesg_since_test_start | grep -q -e "couldn't allocate config" \
- -e "cannot create duplicate filename"; then
+ if _dmesg_since_test_start | \
+ grep --quiet "cannot create duplicate filename"; then
echo "Fail"
fi
--
2.45.0
Reply to: