[PATCH blktests] nbd/004: drop the check for "couldn't allocate config" message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>
---
 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





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux