When SCRATCH_DEV is not set and the test case does not call _require_scratch*() before _require_dm_target(), _require_block_device() called from _require_dm_target() fails to evaluate SCRATCH_DEV and results in the test case failure. This failure was observed with generic/628 and generic/629. To avoid the failures, check SCRATCH_DEV in _require_dm_target(). With this change, test cases do not need to call _require_scratch*() before _require_dm_target(). To check SCRATCH_DEV, use simple variable check instead of _require_scratch*() helper functions, so that each test case can choose an appropriate function from _require_scratch*(). Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> --- common/rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/rc b/common/rc index dda5da06..b4966af7 100644 --- a/common/rc +++ b/common/rc @@ -1971,6 +1971,9 @@ _require_dm_target() # require SCRATCH_DEV to be a valid block device with sane BLKFLSBUF # behaviour + if [ -z "$SCRATCH_DEV" ]; then + _notrun "This test requires a valid \$SCRATCH_DEV for dm $target" + fi _require_block_device $SCRATCH_DEV _require_sane_bdev_flush $SCRATCH_DEV _require_command "$DMSETUP_PROG" dmsetup -- 2.31.1