fstests: use udevadm settle after pvremove
authorLuis Chamberlain <mcgrof@kernel.org>
Wed, 11 Aug 2021 15:45:10 +0000 (08:45 -0700)
committerEryu Guan <guaneryu@gmail.com>
Sun, 15 Aug 2021 12:35:29 +0000 (20:35 +0800)
commitd26e07ebb6a2ec01f0d71a6d7a23dabbc7a59326
tree65679dfd8b94208705c96165dcca4b97b5db8160
parent5f883ecb049c76ca0ef7619440a37181843e0548
fstests: use udevadm settle after pvremove

As with creation, we also need to use udevadm settle
when removing a pv, otherwise we can trip on races with
module removals for the block devices in use.

This reduces the amount of time in which a block device
module refcnt for test modules such as scsi_debug spends
outside of 0.

Races with the refcnt being greater than 0 means module
removal can fail causing false positives. This helps
ensure that the pv is really long gone. These issues
are tracked for scsi_debug [0] and later found to be a
generic issue regardless of filesystem with pvremove [1].

Using udevadm settle *helps*, it does not address all
possible races with the refcnt as noted in the generic
bug entry [1].

[0] https://bugzilla.kernel.org/show_bug.cgi?id=212337
[1] https://bugzilla.kernel.org/show_bug.cgi?id=214015

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/081
tests/generic/108
tests/generic/459