From: Eric Sandeen Date: Wed, 14 Oct 2015 03:08:42 +0000 (+1100) Subject: generic: _require_dm_target() helper X-Git-Tag: v2022.05.01~2780 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=50266c22dc82e3f279c8a587408c8893a8e69de4;p=users%2Fhch%2Fxfstests-dev.git generic: _require_dm_target() helper generic/085 was failing on a machine w/o devicemapper kernel support because it requires the linear target, but didn't explicitly test for it. I could have cut & pasted _require_dm_linear(), but chose to go the route of a generic helper, _require_dm_target $FOO, because some day someone will need the zero target, the error target, or who knows. Add the helper, use it in test generic/085, and convert _require_dm_flakey, _require_dm_snapshot, and _dmerror_required with this new helper. Reported-by: Angelo Dureghello Signed-off-by: Eric Sandeen Reviewed-by: Eryu Guan Signed-off-by: Dave Chinner --- diff --git a/common/dmerror b/common/dmerror index a81856d00..3900a4e78 100644 --- a/common/dmerror +++ b/common/dmerror @@ -18,20 +18,6 @@ # # common functions for setting up and tearing down a dmerror device -# this test requires the device mapper error target -# -_dmerror_required() -{ - _require_command "$DMSETUP_PROG" dmsetup - - _require_block_device $SCRATCH_DEV - _require_sane_bdev_flush $SCRATCH_DEV - - modprobe dm-mod >/dev/null 2>&1 - $DMSETUP_PROG targets | grep error >/dev/null 2>&1 - [ $? -ne 0 ] && _notrun "This test requires dm error support" -} - _dmerror_init() { local dm_backing_dev=$SCRATCH_DEV diff --git a/common/rc b/common/rc index 3e9706072..adf1edf64 100644 --- a/common/rc +++ b/common/rc @@ -1346,32 +1346,22 @@ _require_sane_bdev_flush() fi } -# this test requires the device mapper flakey target -# -_require_dm_flakey() +# this test requires a specific device mapper target +_require_dm_target() { + _target=$1 + # require SCRATCH_DEV to be a valid block device with sane BLKFLSBUF # behaviour _require_block_device $SCRATCH_DEV _require_sane_bdev_flush $SCRATCH_DEV _require_command "$DMSETUP_PROG" dmsetup - modprobe dm-flakey >/dev/null 2>&1 - $DMSETUP_PROG targets | grep flakey >/dev/null 2>&1 - if [ $? -ne 0 ]; then - _notrun "This test requires dm flakey support" - fi -} + modprobe dm-$_target >/dev/null 2>&1 -_require_dm_snapshot() -{ - _require_block_device $SCRATCH_DEV - _require_sane_bdev_flush $SCRATCH_DEV - _require_command "$DMSETUP_PROG" dmsetup - modprobe dm-snapshot >/dev/null 2>&1 - $DMSETUP_PROG targets | grep -q snapshot + $DMSETUP_PROG targets 2>&1 | grep -q ^$_target if [ $? -ne 0 ]; then - _notrun "This test requires dm snapshot support" + _notrun "This test requires dm $_target support" fi } diff --git a/tests/btrfs/049 b/tests/btrfs/049 index 5b17a7739..38ed7ad51 100755 --- a/tests/btrfs/049 +++ b/tests/btrfs/049 @@ -50,7 +50,7 @@ _supported_fs btrfs _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey rm -f $seqres.full diff --git a/tests/btrfs/056 b/tests/btrfs/056 index 9e9d92b6c..add828858 100755 --- a/tests/btrfs/056 +++ b/tests/btrfs/056 @@ -55,7 +55,7 @@ _require_scratch _require_cloner _require_btrfs_fs_feature "no_holes" _require_btrfs_mkfs_feature "no-holes" -_require_dm_flakey +_require_dm_target flakey _need_to_be_root rm -f $seqres.full diff --git a/tests/btrfs/085 b/tests/btrfs/085 index 44e476bdf..d82f79ac3 100755 --- a/tests/btrfs/085 +++ b/tests/btrfs/085 @@ -54,7 +54,7 @@ trap "_cleanup ; exit \$status" 0 1 2 3 15 _supported_fs btrfs _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _need_to_be_root BTRFS_DEBUG_TREE_PROG="`set_prog_path btrfs-debug-tree`" diff --git a/tests/btrfs/095 b/tests/btrfs/095 index 032d1ffe5..854ba40f8 100755 --- a/tests/btrfs/095 +++ b/tests/btrfs/095 @@ -52,7 +52,7 @@ _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_cloner _require_metadata_journaling $SCRATCH_DEV _require_xfs_io_command "falloc" diff --git a/tests/btrfs/098 b/tests/btrfs/098 index c412c73bc..f12df5f55 100755 --- a/tests/btrfs/098 +++ b/tests/btrfs/098 @@ -48,7 +48,7 @@ _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_cloner _require_metadata_journaling $SCRATCH_DEV diff --git a/tests/btrfs/100 b/tests/btrfs/100 index 4343fcb77..080d0ae9f 100755 --- a/tests/btrfs/100 +++ b/tests/btrfs/100 @@ -46,7 +46,7 @@ _supported_fs btrfs _supported_os Linux _need_to_be_root _require_scratch_dev_pool 3 -_dmerror_required +_require_dm_target error rm -f $seqres.full diff --git a/tests/btrfs/101 b/tests/btrfs/101 index 5969ab601..0824de1d1 100755 --- a/tests/btrfs/101 +++ b/tests/btrfs/101 @@ -47,7 +47,7 @@ _supported_os Linux _need_to_be_root _require_scratch_dev_pool 3 _require_btrfs_dev_del_by_devid -_dmerror_required +_require_dm_target error rm -f $seqres.full diff --git a/tests/generic/034 b/tests/generic/034 index 966b3d2f6..ee889c227 100755 --- a/tests/generic/034 +++ b/tests/generic/034 @@ -52,7 +52,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/039 b/tests/generic/039 index 4bbfc50d8..35cb7a443 100755 --- a/tests/generic/039 +++ b/tests/generic/039 @@ -56,7 +56,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/040 b/tests/generic/040 index b44a43395..3142bbb35 100755 --- a/tests/generic/040 +++ b/tests/generic/040 @@ -61,7 +61,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/041 b/tests/generic/041 index 50fb26f9b..506d8a916 100755 --- a/tests/generic/041 +++ b/tests/generic/041 @@ -65,7 +65,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/056 b/tests/generic/056 index 8bb1522b6..2ec155f51 100755 --- a/tests/generic/056 +++ b/tests/generic/056 @@ -54,7 +54,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/057 b/tests/generic/057 index 3b9f89e29..c11c329f1 100755 --- a/tests/generic/057 +++ b/tests/generic/057 @@ -54,7 +54,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/059 b/tests/generic/059 index 13dfb0966..4b9184a2a 100755 --- a/tests/generic/059 +++ b/tests/generic/059 @@ -59,7 +59,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV _require_xfs_io_command "fpunch" diff --git a/tests/generic/065 b/tests/generic/065 index 739a4d5bd..ddab68707 100755 --- a/tests/generic/065 +++ b/tests/generic/065 @@ -55,7 +55,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/066 b/tests/generic/066 index cb365065d..211152d04 100755 --- a/tests/generic/066 +++ b/tests/generic/066 @@ -59,7 +59,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_attrs _require_metadata_journaling $SCRATCH_DEV diff --git a/tests/generic/073 b/tests/generic/073 index 9cf0d9031..759098d63 100755 --- a/tests/generic/073 +++ b/tests/generic/073 @@ -55,7 +55,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/081 b/tests/generic/081 index 34da1ac21..8334ec930 100755 --- a/tests/generic/081 +++ b/tests/generic/081 @@ -49,7 +49,7 @@ _supported_fs generic _supported_os Linux _require_test _require_scratch_nocheck -_require_dm_snapshot +_require_dm_target snapshot _require_command $LVM_PROG lvm echo "Silence is golden" diff --git a/tests/generic/085 b/tests/generic/085 index 839875293..8fb313c91 100755 --- a/tests/generic/085 +++ b/tests/generic/085 @@ -41,6 +41,16 @@ _cleanup() cleanup_dmdev } +cleanup_dmdev() +{ + # in case it's still suspended and/or mounted + $DMSETUP_PROG resume $lvdev >/dev/null 2>&1 + $UMOUNT_PROG $lvdev >/dev/null 2>&1 + + $DMSETUP_PROG remove $node >>$seqres.full 2>&1 + $DMSETUP_PROG mknodes >/dev/null 2>&1 +} + # get standard environment, filters and checks . ./common/rc . ./common/filter @@ -50,7 +60,7 @@ _supported_fs generic _supported_os Linux _require_scratch _require_block_device $SCRATCH_DEV -_require_command $DMSETUP_PROG +_require_dm_target linear _require_freeze setup_dmdev() @@ -61,16 +71,6 @@ setup_dmdev() return $? } -cleanup_dmdev() -{ - # in case it's still suspended and/or mounted - $DMSETUP_PROG resume $lvdev >/dev/null 2>&1 - $UMOUNT_PROG $lvdev >/dev/null 2>&1 - - $DMSETUP_PROG remove $node >>$seqres.full 2>&1 - $DMSETUP_PROG mknodes >/dev/null 2>&1 -} - rm -f $seqres.full echo "Silence is golden" diff --git a/tests/generic/090 b/tests/generic/090 index a1f2b8950..3890fc1a6 100755 --- a/tests/generic/090 +++ b/tests/generic/090 @@ -53,7 +53,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/101 b/tests/generic/101 index 9c46b42fd..ea98a8939 100755 --- a/tests/generic/101 +++ b/tests/generic/101 @@ -51,7 +51,7 @@ _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV # This test was motivated by an issue found in btrfs when the btrfs no-holes diff --git a/tests/generic/104 b/tests/generic/104 index fef3583e1..2eee63853 100755 --- a/tests/generic/104 +++ b/tests/generic/104 @@ -49,7 +49,7 @@ _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/106 b/tests/generic/106 index 0afee4168..e4f9cae91 100755 --- a/tests/generic/106 +++ b/tests/generic/106 @@ -48,7 +48,7 @@ _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/107 b/tests/generic/107 index 7d107d7cb..7503e40e3 100755 --- a/tests/generic/107 +++ b/tests/generic/107 @@ -51,7 +51,7 @@ _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/311 b/tests/generic/311 index d21b6eb35..f55201197 100755 --- a/tests/generic/311 +++ b/tests/generic/311 @@ -55,7 +55,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch_nocheck -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV # xfs_io is not required for this test, but it's the best way to verify diff --git a/tests/generic/321 b/tests/generic/321 index c821a23a3..1a8988046 100755 --- a/tests/generic/321 +++ b/tests/generic/321 @@ -44,7 +44,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch_nocheck -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/322 b/tests/generic/322 index 4c0edf6a9..324022b3d 100755 --- a/tests/generic/322 +++ b/tests/generic/322 @@ -44,7 +44,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch_nocheck -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/generic/325 b/tests/generic/325 index 965a47ce9..94d30be51 100755 --- a/tests/generic/325 +++ b/tests/generic/325 @@ -54,7 +54,7 @@ _supported_fs generic _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full diff --git a/tests/shared/002 b/tests/shared/002 index cc59cdb1d..cf02fcfee 100755 --- a/tests/shared/002 +++ b/tests/shared/002 @@ -59,7 +59,7 @@ _supported_fs btrfs xfs _supported_os Linux _need_to_be_root _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_attrs _require_metadata_journaling $SCRATCH_DEV diff --git a/tests/xfs/051 b/tests/xfs/051 index a84746b04..3f3363509 100755 --- a/tests/xfs/051 +++ b/tests/xfs/051 @@ -49,7 +49,7 @@ _supported_fs xfs _supported_os Linux _require_scratch -_require_dm_flakey +_require_dm_target flakey _require_xfs_sysfs debug/log_recovery_delay echo "Silence is golden."