_dmerror_cleanup()/_cleanup_flakey may fail to remove dm device due to
EBUSY and cause subsequent tests to fail.
Fix it by calling $UDEV_SETTLE_PROG before remove dm device to make sure
no one is using it.
Signed-off-by: Eryu Guan <eguan@redhat.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
_dmerror_cleanup()
{
$UMOUNT_PROG $SCRATCH_MNT > /dev/null 2>&1
+ # wait for device to be fully settled so that 'dmsetup remove' doesn't
+ # fail due to EBUSY
+ $UDEV_SETTLE_PROG >/dev/null 2>&1
$DMSETUP_PROG remove error-test > /dev/null 2>&1
}
# otherwise the umount will hang
$DMSETUP_PROG resume flakey-test > /dev/null 2>&1
$UMOUNT_PROG $SCRATCH_MNT > /dev/null 2>&1
+ # wait for device to be fully settled so that 'dmsetup remove' doesn't
+ # fail due to EBUSY
+ $UDEV_SETTLE_PROG >/dev/null 2>&1
$DMSETUP_PROG remove flakey-test > /dev/null 2>&1
$DMSETUP_PROG mknodes > /dev/null 2>&1
}