Re: dm/002: add --retry option to dmsetup remove command

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

 



On 23/07/24 01:58PM, Shin'ichiro Kawasaki wrote:
The test case dm/002 rarely fails with the message below:

dm/002 => nvme0n1 (dm-dust general functionality test)       [failed]
   runtime  0.204s  ...  0.174s
   --- tests/dm/002.out        2024-06-14 14:37:40.480794693 +0900
   +++ /home/shin/Blktests/blktests/results/nvme0n1/dm/002.out.bad     2024-06-14 21:38:18.588976499 +0900
   @@ -7,4 +7,6 @@
    countbadblocks: 0 badblock(s) found
    countbadblocks: 3 badblock(s) found
    countbadblocks: 0 badblock(s) found
   +device-mapper: remove ioctl on dust1  failed: Device or resource busy
   +Command failed.
    Test complete
modprobe: FATAL: Module dm_dust is in use.

When udev opens the dm device, "dmsetup remove" command also tries to
open the device and fails with EBUSY. To avoid the failure, add the
--retry option to the dmsetup command.

Suggested-by: Milan Broz <gmazyland@xxxxxxxxx>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>
---
This patch addresses a failure found during the debug work for another
dm/002 failure [1].

[1] https://lore.kernel.org/linux-block/42ecobcsduvlqh77iavjj2p3ewdh7u4opdz4xruauz4u5ddljz@yr7ye4fq72tr/

Tested-by: Nitesh Shetty <nj.shetty@xxxxxxxxxxx>

Changes from v2:
* "dmsetup remove --retry " instead of "udevadm settle"
Changes from v1:
* "udevadm settle" instead of retrying "dmsetup remove"

tests/dm/002 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/dm/002 b/tests/dm/002
index fae3986..ea3f684 100755
--- a/tests/dm/002
+++ b/tests/dm/002
@@ -37,7 +37,7 @@ test_device() {
	sync
	dmsetup message dust1 0 countbadblocks
	sync
-	dmsetup remove dust1
+	dmsetup remove --retry dust1 |& grep -v "Device or resource busy"

	echo "Test complete"
}
--
2.45.2






[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