mirror of
https://github.com/kdave/btrfs-progs
synced 2025-01-29 17:02:43 +00:00
btrfs-progs: tests: mkfs/005: use udevadm settle to avoid false alerts
[BUG] During my test runs of mkfs-tests, 005-long-device-name-for-ssd failed with the following error messages: ====== RUN CHECK dmsetup remove btrfs-test-with-very-long-name-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQPGc device-mapper: remove ioctl on btrfs-test-with-very-long-name-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQPGc failed: Device or resource busy Command failed. failed: dmsetup remove btrfs-test-with-very-long-name-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQPGc test failed for case 005-long-device-name-for-ssd [CAUSE] There seems to be a race between "btrfs inspect dump-super" and the dmsetup removal. [FIX] Add a "udevadm settle" before removing the dm devices. Also since we're here, use the same "udevadm settle" instead of the manual sleep to wait for the new dm device to show up. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
835526b120
commit
005d2cc047
@ -4,6 +4,7 @@
|
||||
source "$TEST_TOP/common" || exit
|
||||
|
||||
check_prereq mkfs.btrfs
|
||||
check_global_prereq udevadm
|
||||
check_dm_target_support linear
|
||||
|
||||
setup_root_helper
|
||||
@ -24,7 +25,7 @@ loopdev=`run_check_stdout $SUDO_HELPER losetup --find --show img`
|
||||
run_check $SUDO_HELPER dmsetup create "$dmname" --table "0 1048576 linear $loopdev 0"
|
||||
|
||||
# Setting up the device may need some time to appear
|
||||
sleep 5
|
||||
run_check $SUDO_HELPER udevadm settle
|
||||
if ! [ -b "$dmdev" ]; then
|
||||
_not_run "dm device created but not visible in /dev/mapper"
|
||||
fi
|
||||
@ -43,6 +44,8 @@ run_check_stdout $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$@" "$dmdev" |
|
||||
grep -q 'SSD detected:.*yes' || _fail 'SSD not detected'
|
||||
run_check $SUDO_HELPER "$TOP/btrfs" inspect-internal dump-super "$dmdev"
|
||||
|
||||
run_check $SUDO_HELPER udevadm settle
|
||||
|
||||
# cleanup
|
||||
run_check $SUDO_HELPER dmsetup remove "$dmname"
|
||||
run_mayfail $SUDO_HELPER losetup -d "$loopdev"
|
||||
|
Loading…
Reference in New Issue
Block a user