Previously _scratch_mount didn't check the mount status and most tests continue to run even if the mount failed (unless test checks for the mount status explicitly). This would result in running tests on the underlying filesystem (usually rootfs) and implicit test failures, and such failures can be annoying and are usually hard to debug. Now _fail test by default if _scratch_mount failed and introduce _try_scratch_mount for tests that need to check mount results themselves. Also introduce a new _try_scratch_mount helper that does scratch mount without checking mount status for tests that do the check themselves. Suggested-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Eryu Guan <eguan@xxxxxxxxxx> --- Changes since RFC patch: - fold the two patches into one single patch - rename _scratch_mount_nocheck to _try_scratch_mount - simplify mount failure error message - convert more tests to use _scratch_mount instead of _try_scratch_mount || _fail common/attr | 2 +- common/dmapi | 4 ++-- common/dump | 4 ++-- common/encrypt | 2 +- common/filestreams | 4 ++-- common/fuzzy | 4 ++-- common/log | 6 +++--- common/overlay | 2 +- common/punch | 2 +- common/quota | 4 ++-- common/rc | 40 ++++++++++++++++++++++++---------------- common/xfs | 12 ++++++------ tests/btrfs/004 | 6 +++--- tests/btrfs/007 | 4 ++-- tests/btrfs/009 | 2 +- tests/btrfs/012 | 4 ++-- tests/btrfs/042 | 2 +- tests/btrfs/057 | 2 +- tests/btrfs/091 | 4 ++-- tests/btrfs/131 | 4 ++-- tests/btrfs/136 | 2 +- tests/ext4/003 | 2 +- tests/ext4/006 | 4 ++-- tests/ext4/007 | 2 +- tests/ext4/008 | 2 +- tests/ext4/011 | 4 ++-- tests/ext4/012 | 4 ++-- tests/ext4/024 | 2 +- tests/ext4/025 | 2 +- tests/ext4/305 | 2 +- tests/ext4/306 | 2 +- tests/generic/015 | 2 +- tests/generic/019 | 4 ++-- tests/generic/050 | 10 +++++----- tests/generic/052 | 5 ++--- tests/generic/053 | 2 +- tests/generic/054 | 4 ++-- tests/generic/055 | 4 ++-- tests/generic/062 | 2 +- tests/generic/064 | 2 +- tests/generic/068 | 3 +-- tests/generic/069 | 2 +- tests/generic/076 | 3 +-- tests/generic/077 | 3 +-- tests/generic/079 | 2 +- tests/generic/082 | 4 ++-- tests/generic/083 | 3 +-- tests/generic/105 | 2 +- tests/generic/117 | 3 +-- tests/generic/120 | 2 +- tests/generic/169 | 3 +-- tests/generic/235 | 4 ++-- tests/generic/270 | 2 +- tests/generic/294 | 2 +- tests/generic/317 | 2 +- tests/generic/318 | 2 +- tests/generic/388 | 2 +- tests/generic/390 | 2 +- tests/generic/403 | 2 +- tests/generic/466 | 2 +- tests/shared/003 | 2 +- tests/xfs/005 | 2 +- tests/xfs/009 | 2 +- tests/xfs/016 | 2 +- tests/xfs/017 | 7 +++---- tests/xfs/019 | 2 +- tests/xfs/021 | 3 +-- tests/xfs/034 | 3 +-- tests/xfs/041 | 4 ++-- tests/xfs/042 | 4 ++-- tests/xfs/044 | 4 ++-- tests/xfs/045 | 4 ++-- tests/xfs/057 | 2 +- tests/xfs/067 | 2 +- tests/xfs/072 | 2 +- tests/xfs/073 | 2 +- tests/xfs/075 | 4 ++-- tests/xfs/077 | 4 ++-- tests/xfs/079 | 2 +- tests/xfs/083 | 6 +++--- tests/xfs/085 | 2 +- tests/xfs/090 | 2 +- tests/xfs/092 | 2 +- tests/xfs/094 | 2 +- tests/xfs/098 | 2 +- tests/xfs/103 | 2 +- tests/xfs/104 | 2 +- tests/xfs/111 | 2 +- tests/xfs/121 | 8 +++----- tests/xfs/130 | 2 +- tests/xfs/137 | 4 ++-- tests/xfs/141 | 2 +- tests/xfs/177 | 6 ++---- tests/xfs/181 | 3 +-- tests/xfs/183 | 3 +-- tests/xfs/189 | 14 +++++++------- tests/xfs/263 | 2 +- tests/xfs/270 | 4 ++-- tests/xfs/297 | 2 +- tests/xfs/333 | 2 +- tests/xfs/338 | 2 +- tests/xfs/340 | 2 +- tests/xfs/433 | 2 +- tests/xfs/434 | 2 +- tests/xfs/435 | 2 +- tests/xfs/436 | 2 +- tests/xfs/439 | 2 +- tests/xfs/442 | 2 +- tests/xfs/443 | 2 +- 109 files changed, 184 insertions(+), 192 deletions(-) diff --git a/common/attr b/common/attr index 66b0227f721e..3d1385a493b0 100644 --- a/common/attr +++ b/common/attr @@ -229,7 +229,7 @@ _require_noattr2() { _scratch_mkfs_xfs > /dev/null 2>&1 \ || _fail "_scratch_mkfs_xfs failed on $SCRATCH_DEV" - _scratch_mount -o noattr2 > /dev/null 2>&1 \ + _try_scratch_mount -o noattr2 > /dev/null 2>&1 \ || _notrun "noattr2 mount option not supported on $SCRATCH_DEV" _scratch_unmount } diff --git a/common/dmapi b/common/dmapi index c8a463a2cac0..5eff3d92f195 100644 --- a/common/dmapi +++ b/common/dmapi @@ -31,10 +31,10 @@ _dmapi_scratch_mount () { if [ `echo "$MOUNT_OPTIONS" | grep -c dmapi` -gt 0 -o \ `echo "$MOUNT_OPTIONS" | grep -c dmi` -gt 0 ] ; then #already got dmapi options set - _scratch_mount + _try_scratch_mount dmapi_mount_result=$? else - _scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT" + _try_scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT" dmapi_mount_result=$? fi diff --git a/common/dump b/common/dump index 2b3cfa0f0607..7b9c10a25414 100644 --- a/common/dump +++ b/common/dump @@ -235,7 +235,7 @@ _wipe_fs() _require_scratch _scratch_mkfs_xfs >>$seqres.full || _fail "mkfs failed" - _scratch_mount >>$seqres.full || _fail "mount failed" + _scratch_mount >>$seqres.full } # @@ -287,7 +287,7 @@ _stable_fs() { _saveddir=`pwd`; cd / _scratch_unmount >>$seqres.full || _fail "unmount failed" - _scratch_mount >>$seqres.full || _fail "mount failed" + _scratch_mount >>$seqres.full cd $_saveddir } diff --git a/common/encrypt b/common/encrypt index 189c59ee9bbd..3d77ebd2cecc 100644 --- a/common/encrypt +++ b/common/encrypt @@ -43,7 +43,7 @@ _require_scratch_encryption() # Try to mount the filesystem. If this fails then either the kernel # isn't aware of encryption, or the mkfs options were not compatible # with encryption (e.g. ext4 with block size != PAGE_SIZE). - if ! _scratch_mount &>>$seqres.full; then + if ! _try_scratch_mount &>>$seqres.full; then _notrun "kernel is unaware of $FSTYP encryption feature," \ "or mkfs options are not compatible with encryption" fi diff --git a/common/filestreams b/common/filestreams index f5441f5a82e9..d7a656f8bc23 100644 --- a/common/filestreams +++ b/common/filestreams @@ -111,11 +111,11 @@ _test_streams() { if [ "$use_iflag" = "0" ]; then # mount using filestreams mount option - _scratch_mount "-o filestreams" \ + _try_scratch_mount "-o filestreams" \ || _fail "filestreams mount failed" else # test will set inode flag - _scratch_mount || _fail "mount failed" + _scratch_mount fi cd $SCRATCH_MNT diff --git a/common/fuzzy b/common/fuzzy index b964fd8cb0fc..f89765c1bfd2 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -200,7 +200,7 @@ __scratch_xfs_fuzz_field_test() { # Try to catch the error with scrub echo "+ Try to catch the error" - _scratch_mount 2>&1 + _try_scratch_mount 2>&1 res=$? if [ $res -eq 0 ]; then # Try an online scrub unless we're fuzzing ag 0's sb, @@ -245,7 +245,7 @@ __scratch_xfs_fuzz_field_test() { # See if scrub finds a clean fs echo "+ Make sure error is gone (online)" - _scratch_mount 2>&1 + _try_scratch_mount 2>&1 res=$? if [ $res -eq 0 ]; then # Try an online scrub unless we're fuzzing ag 0's sb, diff --git a/common/log b/common/log index bdb4ed684a08..b48f6abade77 100644 --- a/common/log +++ b/common/log @@ -370,7 +370,7 @@ _create_log() { # mount the FS _full "mount" - _scratch_mount >>$seqres.full 2>&1 + _try_scratch_mount >>$seqres.full 2>&1 if [ $? -ne 0 ] ; then _echofull "mount failed: $MOUNT_OPTIONS" return 1 @@ -399,7 +399,7 @@ _create_log_sync() { # mount the FS _full " mount" - _scratch_mount >>$seqres.full 2>&1 + _try_scratch_mount >>$seqres.full 2>&1 if [ $? -ne 0 ] ; then _echofull "mount failed: $MOUNT_OPTIONS" return 1 @@ -519,7 +519,7 @@ _require_v2log() # test out mount to see if it mounts a v2 log fs export MOUNT_OPTIONS="-o logbsize=32k" - if ! _scratch_mount >>$seqres.full 2>&1; then + if ! _try_scratch_mount >>$seqres.full 2>&1; then _notrun "mount/kernel does not support v2 logs" fi diff --git a/common/overlay b/common/overlay index a8b0e9369c86..e1b07f495e87 100644 --- a/common/overlay +++ b/common/overlay @@ -167,7 +167,7 @@ _require_scratch_overlay_features() done _scratch_mkfs > /dev/null 2>&1 - _scratch_mount -o $opts || \ + _try_scratch_mount -o $opts || \ _notrun "overlay options '$opts' cannot be enabled on ${SCRATCH_DEV}" for feature in ${features[*]}; do diff --git a/common/punch b/common/punch index c4ed26192a22..42a7e97496b7 100644 --- a/common/punch +++ b/common/punch @@ -131,7 +131,7 @@ _test_punch() { _dmapi_scratch_mount else # only unresvsp punch type is used, just do a normal mount - _scratch_mount || _fail "mount failed" + _scratch_mount fi cd $SCRATCH_MNT diff --git a/common/quota b/common/quota index 2611c484ee35..f8e037995ad4 100644 --- a/common/quota +++ b/common/quota @@ -119,7 +119,7 @@ _scratch_enable_pquota() [ "$FSTYP" != "ext4" ] && return tune2fs -O quota,project $SCRATCH_DEV >>$seqres.full 2>&1 - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "kernel doesn't support project feature on $FSTYP" _scratch_unmount } @@ -202,7 +202,7 @@ _choose_prid() _qmount() { _scratch_unmount >/dev/null 2>&1 - _scratch_mount || _fail "qmount failed" + _try_scratch_mount || _fail "qmount failed" # xfs doesn't need these setups and quotacheck even fails on xfs # redirect the output to $seqres.full for debug purpose and ignore results if [ "$FSTYP" != "xfs" ]; then diff --git a/common/rc b/common/rc index 87863baaf33a..1b3cee5e1969 100644 --- a/common/rc +++ b/common/rc @@ -352,13 +352,20 @@ _supports_filetype() esac } +# mount scratch device with given options but don't check mount status +_try_scratch_mount() +{ + if [ "$FSTYP" == "overlay" ]; then + _overlay_scratch_mount $* + return $? + fi + _mount -t $FSTYP `_scratch_mount_options $*` +} + +# mount scratch device with given options and _fail if mount fails _scratch_mount() { - if [ "$FSTYP" == "overlay" ]; then - _overlay_scratch_mount $* - return $? - fi - _mount -t $FSTYP `_scratch_mount_options $*` + _try_scratch_mount $* || _fail "mount failed" } _scratch_unmount() @@ -397,7 +404,7 @@ _scratch_cycle_mount() opts="-o $opts" fi _scratch_unmount - _scratch_mount "$opts" + _try_scratch_mount "$opts" || _fail "cycle mount failed" } _scratch_shutdown() @@ -524,7 +531,7 @@ _setup_large_ext4_fs() # mount the filesystem and create 16TB - 4KB files until we consume # all the necessary space. - _scratch_mount 2>&1 >$tmp_dir/mnt.err + _try_scratch_mount 2>&1 >$tmp_dir/mnt.err local status=$? if [ $status -ne 0 ]; then echo "mount failed" @@ -1103,7 +1110,7 @@ _repair_scratch_fs() res=$? if [ "$res" -ne 0 ]; then echo "xfs_repair returns $res; replay log?" - _scratch_mount + _try_scratch_mount res=$? if [ "$res" -gt 0 ]; then echo "mount returns $res; zap log?" @@ -1872,7 +1879,7 @@ _require_scratch_ext4_crc() { _scratch_mkfs_ext4 >/dev/null 2>&1 dumpe2fs -h $SCRATCH_DEV 2> /dev/null | grep -q metadata_csum || _notrun "metadata_csum not supported by this filesystem" - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "Kernel doesn't support metadata_csum feature" _scratch_unmount } @@ -1888,7 +1895,7 @@ _require_scratch_ext4_feature() $MKFS_EXT4_PROG -F $MKFS_OPTIONS -O "$1" \ $SCRATCH_DEV 512m >/dev/null 2>&1 \ || _notrun "mkfs.ext4 doesn't support $1 feature" - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "Kernel doesn't support the ext4 feature(s): $1" _scratch_unmount } @@ -2322,7 +2329,7 @@ _require_scratch_richacl_xfs() _scratch_mkfs_xfs_supported -m richacl=1 >/dev/null 2>&1 \ || _notrun "mkfs.xfs doesn't have richacl feature" _scratch_mkfs_xfs -m richacl=1 >/dev/null 2>&1 - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "kernel doesn't support richacl feature on $FSTYP" _scratch_unmount } @@ -2331,7 +2338,7 @@ _require_scratch_richacl_ext4() { _scratch_mkfs -O richacl >/dev/null 2>&1 \ || _notrun "can't mkfs $FSTYP with option -O richacl" - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "kernel doesn't support richacl feature on $FSTYP" _scratch_unmount } @@ -2993,7 +3000,7 @@ _require_scratch_shutdown() [ -x src/godown ] || _notrun "src/godown executable not found" _scratch_mkfs > /dev/null 2>&1 || _notrun "_scratch_mkfs failed on $SCRATCH_DEV" - _scratch_mount || _notrun "_scratch_mount failed on $SCRATCH_MNT" + _scratch_mount if [ $FSTYP = "overlay" ]; then if [ -z $OVL_BASE_SCRATCH_DEV ]; then @@ -3019,7 +3026,8 @@ _require_scratch_dax() { _require_scratch _scratch_mkfs > /dev/null 2>&1 - _scratch_mount -o dax + _try_scratch_mount -o dax || \ + _notrun "mount $SCRATCH_DEV with dax failed" # Check options to be sure. XFS ignores dax option # and goes on if dev underneath does not support dax. _fs_options $SCRATCH_DEV | grep -qw "dax" || \ @@ -3030,7 +3038,7 @@ _require_scratch_dax() # Does norecovery support by this fs? _require_norecovery() { - _scratch_mount -o ro,norecovery || \ + _try_scratch_mount -o ro,norecovery || \ _notrun "$FSTYP does not support norecovery" _scratch_unmount } @@ -3229,7 +3237,7 @@ _require_atime() _require_relatime() { _scratch_mkfs > /dev/null 2>&1 - _scratch_mount -o relatime || \ + _try_scratch_mount -o relatime || \ _notrun "relatime not supported by the current kernel" _scratch_unmount } diff --git a/common/xfs b/common/xfs index 9b20b0380782..9ed78dee08ff 100644 --- a/common/xfs +++ b/common/xfs @@ -18,7 +18,7 @@ _setup_large_xfs_fs() file_size=$(($file_size - $SCRATCH_DEV_EMPTY_SPACE)) # mount the filesystem, create the file, unmount it - _scratch_mount 2>&1 >$tmp_dir/mnt.err + _try_scratch_mount 2>&1 >$tmp_dir/mnt.err local status=$? if [ $status -ne 0 ]; then echo "mount failed" @@ -223,7 +223,7 @@ _require_xfs_mkfs_crc() _require_xfs_crc() { _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1 - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "Kernel doesn't support crc feature" _scratch_unmount } @@ -233,7 +233,7 @@ _require_xfs_crc() _require_scratch_xfs_crc() { _scratch_mkfs_xfs >/dev/null 2>&1 - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "Kernel doesn't support crc feature" xfs_info $SCRATCH_MNT | grep -q 'crc=1' || _notrun "crc feature not supported by this filesystem" _scratch_unmount @@ -252,7 +252,7 @@ _require_xfs_mkfs_finobt() _require_xfs_finobt() { _scratch_mkfs_xfs -m crc=1,finobt=1 >/dev/null 2>&1 - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "Kernel doesn't support finobt feature" _scratch_unmount } @@ -280,7 +280,7 @@ _require_xfs_sparse_inodes() _scratch_mkfs_xfs_supported -m crc=1 -i sparse > /dev/null 2>&1 \ || _notrun "mkfs.xfs does not support sparse inodes" _scratch_mkfs_xfs -m crc=1 -i sparse > /dev/null 2>&1 - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "kernel does not support sparse inodes" _scratch_unmount } @@ -599,7 +599,7 @@ _require_meta_uuid() _scratch_xfs_db -x -c "uuid generate" >/dev/null 2>&1 - _scratch_mount >/dev/null 2>&1 \ + _try_scratch_mount >/dev/null 2>&1 \ || _notrun "Kernel doesn't support meta_uuid feature" _scratch_unmount } diff --git a/tests/btrfs/004 b/tests/btrfs/004 index 1b5b124d9a89..de583cc355d4 100755 --- a/tests/btrfs/004 +++ b/tests/btrfs/004 @@ -185,7 +185,7 @@ workout() echo "" >>$seqres.full _scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \ || _fail "size=$fsz mkfs failed" - run_check _scratch_mount + _scratch_mount # -w ensures that the only ops are ones which cause write I/O run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p $procs -n 2000 \ $FSSTRESS_AVOID @@ -194,7 +194,7 @@ workout() $SCRATCH_MNT/$snap_name run_check _scratch_unmount >/dev/null 2>&1 - run_check _scratch_mount "-o compress=lzo" + _scratch_mount "-o compress=lzo" # make some noise but ensure we're not touching existing data # extents. @@ -208,7 +208,7 @@ workout() run_check $FSSTRESS_PROG -d $clean_dir -w -p $procs -n 2000 \ $FSSTRESS_AVOID run_check _scratch_unmount >/dev/null 2>&1 - run_check _scratch_mount "-o atime" + _scratch_mount "-o atime" if [ $do_bg_noise -ne 0 ]; then # make background noise while backrefs are being walked diff --git a/tests/btrfs/007 b/tests/btrfs/007 index 57f9a79f5f6f..a8414b21feac 100755 --- a/tests/btrfs/007 +++ b/tests/btrfs/007 @@ -65,7 +65,7 @@ workout() echo "" >>$seqres.full _scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \ || _fail "size=$fsz mkfs failed" - run_check _scratch_mount "-o noatime" + _scratch_mount "-o noatime" run_check $FSSTRESS_PROG -d $SCRATCH_MNT -n $ops $FSSTRESS_AVOID -x \ "$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base" @@ -91,7 +91,7 @@ workout() echo "" >>$seqres.full _scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \ || _fail "size=$fsz mkfs failed" - run_check _scratch_mount "-o noatime" + _scratch_mount "-o noatime" _run_btrfs_util_prog receive $SCRATCH_MNT < $tmp/base.snap run_check $FSSUM_PROG -r $tmp/base.fssum $SCRATCH_MNT/base diff --git a/tests/btrfs/009 b/tests/btrfs/009 index 2ffb81730d24..d720400519cf 100755 --- a/tests/btrfs/009 +++ b/tests/btrfs/009 @@ -59,7 +59,7 @@ $BTRFS_UTIL_PROG subvolume set-default $subvolid $SCRATCH_MNT >> $seqres.full 2> || _fail "couldn't set default" $BTRFS_UTIL_PROG subvolume delete $SCRATCH_MNT/newvol >> $seqres.full 2>&1 _scratch_unmount -_scratch_mount || _fail "mount should have succeeded" +_try_scratch_mount || _fail "mount should have succeeded" echo "Silence is golden" status=0 ; exit diff --git a/tests/btrfs/012 b/tests/btrfs/012 index 85c82f07df4e..ac0f405a0d9a 100755 --- a/tests/btrfs/012 +++ b/tests/btrfs/012 @@ -74,7 +74,7 @@ _scratch_unmount # Convert it to btrfs, mount it, verify the data $BTRFS_CONVERT_PROG $SCRATCH_DEV >> $seqres.full 2>&1 || \ _fail "btrfs-convert failed" -_scratch_mount || _fail "Could not mount new btrfs fs" +_try_scratch_mount || _fail "Could not mount new btrfs fs" # (Ignore the symlinks which may be broken/nonexistent) diff -r /lib/modules/`uname -r`/ $SCRATCH_MNT/`uname -r`/ 2>&1 | grep -vw "source\|build" @@ -114,7 +114,7 @@ _scratch_unmount # Convert it to btrfs, mount it and delete "ext2_saved" $BTRFS_CONVERT_PROG $SCRATCH_DEV >> $seqres.full 2>&1 || \ _fail "btrfs-convert failed" -_scratch_mount || _fail "Could not mount new btrfs fs" +_try_scratch_mount || _fail "Could not mount new btrfs fs" $BTRFS_UTIL_PROG subvolume delete $SCRATCH_MNT/ext2_saved >> $seqres.full 2>&1 || _fail "failed to delete ext2_saved subvolume" _scratch_unmount diff --git a/tests/btrfs/042 b/tests/btrfs/042 index cf3eac239b0f..be349e3d49c4 100755 --- a/tests/btrfs/042 +++ b/tests/btrfs/042 @@ -48,7 +48,7 @@ _require_btrfs_qgroup_report rm -f $seqres.full run_check _scratch_mkfs -run_check _scratch_mount +_scratch_mount LIMIT_SIZE=$((10 * 1024 * 1024)) diff --git a/tests/btrfs/057 b/tests/btrfs/057 index 8d355795359e..a834b7639d8f 100755 --- a/tests/btrfs/057 +++ b/tests/btrfs/057 @@ -54,7 +54,7 @@ run_check _scratch_mkfs "-b 1g --nodesize 4096" # inode cache is saved in the FS tree itself for every # individual FS tree,that affects the sizes reported by qgroup show # so we need to explicitly turn it off to get consistent values. -run_check _scratch_mount "-o noinode_cache" +_scratch_mount "-o noinode_cache" # -w ensures that the only ops are ones which cause write I/O run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p 5 -n 1000 \ diff --git a/tests/btrfs/091 b/tests/btrfs/091 index e3c43c761b4c..ca1d64c3dc09 100755 --- a/tests/btrfs/091 +++ b/tests/btrfs/091 @@ -61,12 +61,12 @@ run_check _scratch_mkfs "--nodesize $NODESIZE" # result. # discard error output since we will check return value manually. # also disable all compression, or output will mismatch with golden output -_scratch_mount "-o noinode_cache,compress=no,compress-force=no" 2> /dev/null +_try_scratch_mount "-o noinode_cache,compress=no,compress-force=no" 2> /dev/null # Check for old kernel which doesn't support 'noinode_cache' mount option if [ $? -ne 0 ]; then support_noinode_cache="no" - run_check _scratch_mount + _scratch_mount fi _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv1 diff --git a/tests/btrfs/131 b/tests/btrfs/131 index ce486e6870e1..f7a0286e88d0 100755 --- a/tests/btrfs/131 +++ b/tests/btrfs/131 @@ -114,8 +114,8 @@ _scratch_unmount mkfs_v2 echo "Trying to mount without free space tree" -_scratch_mount -o nospace_cache >/dev/null 2>&1 || echo "mount failed" -_scratch_mount -o space_cache=v1 >/dev/null 2>&1 || echo "mount failed" +_try_scratch_mount -o nospace_cache >/dev/null 2>&1 || echo "mount failed" +_try_scratch_mount -o space_cache=v1 >/dev/null 2>&1 || echo "mount failed" mkfs_v2 echo "Mounting existing free space tree" diff --git a/tests/btrfs/136 b/tests/btrfs/136 index d5408661bb7a..6d46bd6c7daa 100755 --- a/tests/btrfs/136 +++ b/tests/btrfs/136 @@ -102,7 +102,7 @@ _scratch_unmount # Convert non-extent & extent data to btrfs, mount it, verify the data $BTRFS_CONVERT_PROG $SCRATCH_DEV >> $seqres.full 2>&1 || \ _fail "btrfs-convert failed" -_scratch_mount || _fail "Could not mount new btrfs fs" +_try_scratch_mount || _fail "Could not mount new btrfs fs" # Compute md5 for converted files. find "$SCRATCH_MNT/ext3_ext4_data" -type f -fprint "$BTRFS_MD5SUM" diff --git a/tests/ext4/003 b/tests/ext4/003 index eafe9a53cb34..7f2d6974fb38 100755 --- a/tests/ext4/003 +++ b/tests/ext4/003 @@ -44,7 +44,7 @@ rm -f $seqres.full $MKFS_EXT4_PROG -F -O bigalloc -C 65536 -g 256 $SCRATCH_DEV 512m \ >> $seqres.full 2>&1 -_scratch_mount || _fail "couldn't mount fs" +_scratch_mount $XFS_IO_PROG -f -c "pwrite 0 256m -b 1M" $SCRATCH_MNT/testfile 2>&1 | \ _filter_xfs_io diff --git a/tests/ext4/006 b/tests/ext4/006 index bb9b7e574c29..a1e511e30c99 100755 --- a/tests/ext4/006 +++ b/tests/ext4/006 @@ -112,7 +112,7 @@ echo "++ corrupt image" >> $seqres.full e2fuzz ${FUZZ_ARGS} ${SCRATCH_DEV} >> $seqres.full 2>&1 echo "++ mount image" >> $seqres.full -_scratch_mount >> $seqres.full 2>&1 +_try_scratch_mount >> $seqres.full 2>&1 echo "++ test scratch" >> $seqres.full _scratch_fuzz_test >> $seqres.full 2>&1 @@ -134,7 +134,7 @@ _check_scratch_fs >> $seqres.full 2>&1 ROUND2_LOG="${tmp}-round2-${fsck_pass}.log" echo "++ mount image (2)" >> $ROUND2_LOG -_scratch_mount >> $ROUND2_LOG 2>&1 +_try_scratch_mount >> $ROUND2_LOG 2>&1 echo "++ chattr -R -i" >> $ROUND2_LOG $CHATTR_PROG -R -f -i "${SCRATCH_MNT}/" > /dev/null 2>> $ROUND2_LOG diff --git a/tests/ext4/007 b/tests/ext4/007 index 6719c8b9450f..aeaa2d322930 100755 --- a/tests/ext4/007 +++ b/tests/ext4/007 @@ -89,7 +89,7 @@ dumpe2fs -g "${SCRATCH_DEV}" 2>/dev/null | awk -F ':' '{if ($1 == 0) {print $3}} done echo "+ mount image" -_scratch_mount 2> /dev/null && _fail "mount should not succeed" +_try_scratch_mount 2> /dev/null && _fail "mount should not succeed" echo "+ repair fs" # Have to specify backup sb and blocksize here so we don't pick up superblocks diff --git a/tests/ext4/008 b/tests/ext4/008 index 7264f3723133..c84a28bfb0a9 100755 --- a/tests/ext4/008 +++ b/tests/ext4/008 @@ -85,7 +85,7 @@ dumpe2fs -g "${SCRATCH_DEV}" 2>/dev/null | awk -F ':' '{if (int($4) != -1) {prin done echo "+ mount image" -_scratch_mount 2> /dev/null && _fail "mount should not succeed" +_try_scratch_mount 2> /dev/null && _fail "mount should not succeed" echo "+ repair fs" e2fsck -fy "${SCRATCH_DEV}" >> $seqres.full 2>&1 diff --git a/tests/ext4/011 b/tests/ext4/011 index 03e4cd65bb87..c21442fce23c 100755 --- a/tests/ext4/011 +++ b/tests/ext4/011 @@ -73,13 +73,13 @@ blk="$(dumpe2fs "${SCRATCH_DEV}" 2> /dev/null | grep 'MMP block number' | sed -e $XFS_IO_PROG -f -c "pwrite -S 0x62 $((blk * blksz + 16)) 8" "${SCRATCH_DEV}" >> $seqres.full echo "+ mount image" -_scratch_mount 2> /dev/null && _fail "mount should fail due to bad MMP" +_try_scratch_mount 2> /dev/null && _fail "mount should fail due to bad MMP" echo "+ repair fs" e2fsck -fy "${SCRATCH_DEV}" >> $seqres.full 2>&1 echo "+ mount image (2)" -_scratch_mount || _fail "mount should not fail; MMP has been fixed" +_try_scratch_mount || _fail "mount should not fail; MMP has been fixed" echo "+ check fs (2)" e2fsck -fn "${SCRATCH_DEV}" >> $seqres.full 2>&1 || _fail "fsck should not fail" diff --git a/tests/ext4/012 b/tests/ext4/012 index 85880faf098d..1bf4fe5eb78f 100755 --- a/tests/ext4/012 +++ b/tests/ext4/012 @@ -72,13 +72,13 @@ echo "+ corrupt image" debugfs -w -R 'zap -f <8> 0' "${SCRATCH_DEV}" 2> /dev/null echo "+ mount image" -_scratch_mount 2> /dev/null && _fail "mount should fail due to bad journal" +_try_scratch_mount 2> /dev/null && _fail "mount should fail due to bad journal" echo "+ repair fs" e2fsck -fy "${SCRATCH_DEV}" >> $seqres.full 2>&1 echo "+ mount image (2)" -_scratch_mount || _fail "mount should not fail; journal has been fixed" +_try_scratch_mount || _fail "mount should not fail; journal has been fixed" echo "+ check fs (2)" e2fsck -fn "${SCRATCH_DEV}" >> $seqres.full 2>&1 || _fail "fsck should not fail" diff --git a/tests/ext4/024 b/tests/ext4/024 index c0d26ac6e769..a9ce24d406d4 100755 --- a/tests/ext4/024 +++ b/tests/ext4/024 @@ -79,7 +79,7 @@ _scratch_unmount debugfs -w -R "set_super_value s_last_orphan $inum" $SCRATCH_DEV &>>$seqres.full # Try to mount the filesystem. This would hit a BUG() in fs/ext4/inode.c. -_scratch_mount +_try_scratch_mount # success, all done echo "Didn't crash!" diff --git a/tests/ext4/025 b/tests/ext4/025 index 2a7b35fc3ee2..588c7a3f5379 100755 --- a/tests/ext4/025 +++ b/tests/ext4/025 @@ -58,7 +58,7 @@ _scratch_mkfs "-O bigalloc,meta_bg,^resize_inode" >> $seqres.full 2>&1 $DEBUGFS_PROG -w -R "ssv first_meta_bg 842150400" $SCRATCH_DEV >> $seqres.full 2>&1 echo "Try to mount a modified ext4 fs" -_scratch_mount >> $seqres.full 2>&1 || echo "Fail to mount ext4 fs expectedly" +_try_scratch_mount >> $seqres.full 2>&1 || echo "Fail to mount ext4 fs expectedly" # success, all done status=0 diff --git a/tests/ext4/305 b/tests/ext4/305 index 09db2e11fc49..b7331ae21fd0 100755 --- a/tests/ext4/305 +++ b/tests/ext4/305 @@ -61,7 +61,7 @@ PIDS=$! # 30 loops is enough to crash a buggy kernel i=0 while [ $i -lt 30 ]; do - _scratch_mount + _try_scratch_mount _scratch_unmount let i=i+1 done diff --git a/tests/ext4/306 b/tests/ext4/306 index 70f281dbaf39..7d00bad6c1ce 100755 --- a/tests/ext4/306 +++ b/tests/ext4/306 @@ -53,7 +53,7 @@ if grep -q 64bit /etc/mke2fs.conf ; then features="^extents,^64bit" fi $MKFS_EXT4_PROG -F -O "$features" $SCRATCH_DEV 512m >> $seqres.full 2>&1 -_scratch_mount || _fail "couldn't mount fs" +_scratch_mount # Create a small non-extent-based file echo "Create 1m testfile1" diff --git a/tests/generic/015 b/tests/generic/015 index 9dcdde9e4462..bdae86dd6fb2 100755 --- a/tests/generic/015 +++ b/tests/generic/015 @@ -59,7 +59,7 @@ _require_no_large_scratch_dev # tolerance of 1% _scratch_mkfs_sized `expr 101 \* 1024 \* 1024` >/dev/null 2>&1 \ || _fail "mkfs failed" -_scratch_mount || _fail "mount failed" +_scratch_mount out=$SCRATCH_MNT/fillup.$$ rm -f $seqres.full diff --git a/tests/generic/019 b/tests/generic/019 index 3b24c87ca25a..17ec7dd8229b 100755 --- a/tests/generic/019 +++ b/tests/generic/019 @@ -166,7 +166,7 @@ _workout() # In order to check that filesystem is able to recover journal on mount(2) # perform mount/umount, after that all errors should be fixed - run_check _scratch_mount + _scratch_mount run_check _scratch_unmount } @@ -174,7 +174,7 @@ _workout() rm -f $seqres.full _scratch_mkfs >> $seqres.full 2>&1 || _fail "mkfs failed" -_scratch_mount || _fail "mount failed" +_scratch_mount allow_fail_make_request _workout status=$? diff --git a/tests/generic/050 b/tests/generic/050 index e6e8bc1b9733..04acfb541fe5 100755 --- a/tests/generic/050 +++ b/tests/generic/050 @@ -61,7 +61,7 @@ blockdev --setro $SCRATCH_DEV # Mount it, and make sure we can't write to it, and we can unmount it again # echo "mounting read-only block device:" -_scratch_mount 2>&1 | _filter_ro_mount +_try_scratch_mount 2>&1 | _filter_ro_mount echo "touching file on read-only filesystem (should fail)" touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch @@ -77,7 +77,7 @@ echo "setting device read-write" blockdev --setrw $SCRATCH_DEV echo "mounting read-write block device:" -_scratch_mount 2>&1 | _filter_scratch +_try_scratch_mount 2>&1 | _filter_scratch echo "touch files" touch $SCRATCH_MNT/{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9} @@ -96,7 +96,7 @@ blockdev --setro $SCRATCH_DEV # -o norecovery is used. # echo "mounting filesystem that needs recovery on a read-only device:" -_scratch_mount 2>&1 | _filter_ro_mount +_try_scratch_mount 2>&1 | _filter_ro_mount echo "unmounting read-only filesystem" _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot @@ -107,7 +107,7 @@ _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot # data recovery hack. # echo "mounting filesystem with -o norecovery on a read-only device:" -_scratch_mount -o norecovery 2>&1 | _filter_ro_mount +_try_scratch_mount -o norecovery 2>&1 | _filter_ro_mount echo "unmounting read-only filesystem" _scratch_unmount 2>&1 | _filter_scratch @@ -120,7 +120,7 @@ blockdev --setrw $SCRATCH_DEV # the underlying device is not write protected. # echo "mounting filesystem that needs recovery with -o ro:" -_scratch_mount -o ro 2>&1 | _filter_scratch +_try_scratch_mount -o ro 2>&1 | _filter_scratch # success, all done echo "*** done" diff --git a/tests/generic/052 b/tests/generic/052 index 126f08e63311..168b55c2df95 100755 --- a/tests/generic/052 +++ b/tests/generic/052 @@ -56,8 +56,7 @@ _scratch_mkfs >>$seqres.full 2>&1 \ _require_metadata_journaling $SCRATCH_DEV echo "mount" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed: $MOUNT_OPTIONS" +_scratch_mount echo "touch files" touch $SCRATCH_MNT/{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9} @@ -79,7 +78,7 @@ if false; then fi echo "mount with replay" -_scratch_mount $mnt >>$seqres.full 2>&1 \ +_try_scratch_mount $mnt >>$seqres.full 2>&1 \ || _fail "mount failed: $mnt $MOUNT_OPTIONS" echo "ls SCRATCH_MNT" diff --git a/tests/generic/053 b/tests/generic/053 index cf46a93cf727..e2765d2f4c05 100755 --- a/tests/generic/053 +++ b/tests/generic/053 @@ -48,7 +48,7 @@ test=$SCRATCH_MNT/test # make filesystem on scratch using the defaults _do 'make filesystem on $SCRATCH_DEV' '_scratch_mkfs' -_do 'mount filesytem' '_scratch_mount' +_do 'mount filesytem' '_try_scratch_mount' # create test files and set acls acls=" diff --git a/tests/generic/054 b/tests/generic/054 index 12f471a19090..84b76e67e51d 100755 --- a/tests/generic/054 +++ b/tests/generic/054 @@ -83,7 +83,7 @@ for s in sync nosync ; do # mount the FS _echofull "mount" - if ! _scratch_mount >>$seqres.full 2>&1; then + if ! _try_scratch_mount >>$seqres.full 2>&1; then _echofull "mount failed: $MOUNT_OPTIONS" continue fi @@ -118,7 +118,7 @@ for s in sync nosync ; do _print_logstate _echofull "mount with replay" - _scratch_mount >>$seqres.full 2>&1 \ + _try_scratch_mount >>$seqres.full 2>&1 \ || _fail "mount failed: $MOUNT_OPTIONS" # check on what FS looks like after log recovery diff --git a/tests/generic/055 b/tests/generic/055 index c543e7517940..7f565251bb28 100755 --- a/tests/generic/055 +++ b/tests/generic/055 @@ -105,7 +105,7 @@ do # mount the FS _echofull "mount" - if ! _scratch_mount $QUOTA_OPTION >>$seqres.full 2>&1; then + if ! _try_scratch_mount $QUOTA_OPTION >>$seqres.full 2>&1; then _echofull "mount failed: $MOUNT_OPTIONS" continue fi @@ -131,7 +131,7 @@ do _scratch_xfs_logprint -n >>$seqres.full 2>&1 _echofull "mount with replay" - _scratch_mount $QUOTA_OPTION >>$seqres.full 2>&1 \ + _try_scratch_mount $QUOTA_OPTION >>$seqres.full 2>&1 \ || _fail "mount failed: $MOUNT_OPTIONS" # check on what FS looks like after log recovery diff --git a/tests/generic/062 b/tests/generic/062 index 643f02c3f799..f0820eac916a 100755 --- a/tests/generic/062 +++ b/tests/generic/062 @@ -80,7 +80,7 @@ rm -f $tmp.backup1 $tmp.backup2 $seqres.full # real QA test starts here _scratch_mkfs > /dev/null 2>&1 || _fail "mkfs failed" -_scratch_mount || _fail "mount failed" +_scratch_mount _create_test_bed # In kernels before 3.0, getxattr() fails with EPERM for an attribute which diff --git a/tests/generic/064 b/tests/generic/064 index 156485eef3a9..26fb630168b2 100755 --- a/tests/generic/064 +++ b/tests/generic/064 @@ -50,7 +50,7 @@ _require_xfs_io_command "fcollapse" rm -f $seqres.full _scratch_mkfs >> $seqres.full 2>&1 || _fail "mkfs failed" -_scratch_mount || _fail "mount failed" +_scratch_mount src=$SCRATCH_MNT/testfile dest=$SCRATCH_MNT/testfile.dest diff --git a/tests/generic/068 b/tests/generic/068 index bd12278cdd25..1a852534a549 100755 --- a/tests/generic/068 +++ b/tests/generic/068 @@ -62,8 +62,7 @@ echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs >>$seqres.full 2>&1 \ || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed" +_scratch_mount touch $tmp.running diff --git a/tests/generic/069 b/tests/generic/069 index 15586e9b9144..0121929ba78b 100755 --- a/tests/generic/069 +++ b/tests/generic/069 @@ -48,7 +48,7 @@ echo "*** mkfs" _scratch_mkfs >/dev/null 2>&1 || _fail "mkfs failed" echo "*** mount FS" -_scratch_mount >/dev/null || _fail "mount failed" +_scratch_mount cd $SCRATCH_MNT diff --git a/tests/generic/076 b/tests/generic/076 index ac7653332cb0..033bc005dca3 100755 --- a/tests/generic/076 +++ b/tests/generic/076 @@ -66,8 +66,7 @@ echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs >>$seqres.full 2>&1 \ || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed" +_scratch_mount echo "*** test concurrent block/fs access" diff --git a/tests/generic/077 b/tests/generic/077 index add16ea8f523..1175f6f4b554 100755 --- a/tests/generic/077 +++ b/tests/generic/077 @@ -68,8 +68,7 @@ echo "" >>$seqres.full SIZE=`expr 50 \* 1024 \* 1024` _scratch_mkfs_sized $SIZE >>$seqres.full 2>&1 \ || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed" +_scratch_mount mkdir $SCRATCH_MNT/subdir echo "*** set default ACL" diff --git a/tests/generic/079 b/tests/generic/079 index c2db6bf1f744..7669249ce8c4 100755 --- a/tests/generic/079 +++ b/tests/generic/079 @@ -53,7 +53,7 @@ _require_scratch # real QA test starts here _scratch_mkfs >/dev/null 2>&1 || _fail "mkfs failed" -_scratch_mount || _fail "mount failed" +_scratch_mount echo "*** starting up" $timmutable -c $SCRATCH_MNT/$seq >$tmp.out 2>&1 diff --git a/tests/generic/082 b/tests/generic/082 index a41afe6e6d20..7a11c1ac9538 100755 --- a/tests/generic/082 +++ b/tests/generic/082 @@ -68,10 +68,10 @@ quotaon $SCRATCH_MNT >>$seqres.full 2>&1 # quota, but currently xfs doesn't fail in this case, the unknown option is # just ignored, but quota is still on. This may change in future, let's # re-consider the case then. -_scratch_mount "-o remount,ro,nosuchopt" >>$seqres.full 2>&1 +_try_scratch_mount "-o remount,ro,nosuchopt" >>$seqres.full 2>&1 quotaon -p $SCRATCH_MNT | _filter_scratch | filter_project_quota_line # second remount should succeed, no oops or hang expected -_scratch_mount "-o remount,ro" || _fail "second remount,ro failed" +_try_scratch_mount "-o remount,ro" || _fail "second remount,ro failed" # success, all done status=0 diff --git a/tests/generic/083 b/tests/generic/083 index 9f09a7b09e8b..ac97952c35c0 100755 --- a/tests/generic/083 +++ b/tests/generic/083 @@ -78,8 +78,7 @@ workout() _scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \ || _fail "size=$fsz mkfs failed" fi - _scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed" + _scratch_mount # -w ensures that the only ops are ones which cause write I/O FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -w -p $procs -n $nops $FSSTRESS_AVOID` diff --git a/tests/generic/105 b/tests/generic/105 index 8b6aa5268bc0..6ee123e4a070 100755 --- a/tests/generic/105 +++ b/tests/generic/105 @@ -62,7 +62,7 @@ echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs >>$seqres.full 2>&1 \ || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 \ +_try_scratch_mount >>$seqres.full 2>&1 \ || _fail "mount failed" cd $SCRATCH_MNT diff --git a/tests/generic/117 b/tests/generic/117 index 58165eaac7cd..67e68c6e91e2 100755 --- a/tests/generic/117 +++ b/tests/generic/117 @@ -87,8 +87,7 @@ echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs >>$seqres.full 2>&1 \ || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed" +_scratch_mount mkdir -p $SCRATCH_MNT/fsstress diff --git a/tests/generic/120 b/tests/generic/120 index 7d65f6201e86..1180c10a59f1 100755 --- a/tests/generic/120 +++ b/tests/generic/120 @@ -60,7 +60,7 @@ _compare_access_times() } -if ! _scratch_mount "-o noatime" >$tmp.out 2>&1 +if ! _try_scratch_mount "-o noatime" >$tmp.out 2>&1 then cat $tmp.out echo "!!! mount failed" diff --git a/tests/generic/169 b/tests/generic/169 index f51f4d1981ea..f0ed55edbdc5 100755 --- a/tests/generic/169 +++ b/tests/generic/169 @@ -60,8 +60,7 @@ _require_scratch _scratch_mkfs >>$seqres.full 2>&1 \ || _fail "mkfs scratch failed" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed: $MOUNT_OPTIONS" +_scratch_mount echo "# creating new file for io" touch $SCRATCH_MNT/testfile diff --git a/tests/generic/235 b/tests/generic/235 index f991b1b73ea0..9cd24729e570 100755 --- a/tests/generic/235 +++ b/tests/generic/235 @@ -69,9 +69,9 @@ do_repquota # https://bugzilla.redhat.com/show_bug.cgi?id=563267 # # then you need a more recent mount binary. -_scratch_mount "-o remount,ro" 2>&1 | tee -a $seqres.full | _filter_scratch +_try_scratch_mount "-o remount,ro" 2>&1 | tee -a $seqres.full | _filter_scratch touch $SCRATCH_MNT/failed 2>&1 | tee -a $seqres.full | _filter_scratch -_scratch_mount "-o remount,rw" 2>&1 | tee -a $seqres.full | _filter_scratch +_try_scratch_mount "-o remount,rw" 2>&1 | tee -a $seqres.full | _filter_scratch $XFS_IO_PROG -c 'pwrite 0 8k' -c 'fsync' \ $SCRATCH_MNT/testfile >>$seqres.full 2>&1 diff --git a/tests/generic/270 b/tests/generic/270 index 318f532ae9c0..f5026ba0cd30 100755 --- a/tests/generic/270 +++ b/tests/generic/270 @@ -83,7 +83,7 @@ _require_command "$KILLALL_PROG" killall rm -f $seqres.full _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1 -_scratch_mount "-o usrquota,grpquota" || _fail "mount failed" +_scratch_mount "-o usrquota,grpquota" chmod 777 $SCRATCH_MNT quotacheck -u -g $SCRATCH_MNT 2>/dev/null quotaon -u -g $SCRATCH_MNT 2>/dev/null diff --git a/tests/generic/294 b/tests/generic/294 index fb5d9aa80524..16687ded2878 100755 --- a/tests/generic/294 +++ b/tests/generic/294 @@ -67,7 +67,7 @@ rm -rf $THIS_TEST_DIR mkdir $THIS_TEST_DIR || _fail "Could not create dir for test" _create_files 2>&1 | _filter_scratch -_scratch_mount -o remount,ro || _fail "Could not remount scratch readonly" +_try_scratch_mount -o remount,ro || _fail "Could not remount scratch readonly" _create_files 2>&1 | _filter_scratch # success, all done diff --git a/tests/generic/317 b/tests/generic/317 index 7e40b1fd7612..6d1e932bde1f 100755 --- a/tests/generic/317 +++ b/tests/generic/317 @@ -83,7 +83,7 @@ _scratch_unmount >/dev/null 2>&1 echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 || _fail "mount failed" +_scratch_mount chmod 777 $SCRATCH_MNT # create $file as "root" in userns, which is $qa_user in parent namespace diff --git a/tests/generic/318 b/tests/generic/318 index e284317bd5cd..1c9b3f21dae9 100755 --- a/tests/generic/318 +++ b/tests/generic/318 @@ -93,7 +93,7 @@ _scratch_unmount >/dev/null 2>&1 echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 || _fail "mount failed" +_scratch_mount touch $file chown $acl1.$acl1 $file diff --git a/tests/generic/388 b/tests/generic/388 index e0f482182299..863f0d899b62 100755 --- a/tests/generic/388 +++ b/tests/generic/388 @@ -64,7 +64,7 @@ echo "Silence is golden." _scratch_mkfs >> $seqres.full 2>&1 _require_metadata_journaling $SCRATCH_DEV -_scratch_mount || _fail "mount failed" +_scratch_mount for i in $(seq 1 $((50 * TIME_FACTOR)) ); do ($FSSTRESS_PROG $FSSTRESS_AVOID -d $SCRATCH_MNT -n 999999 -p 4 >> $seqres.full &) \ diff --git a/tests/generic/390 b/tests/generic/390 index 473015a2ad30..3bc6de237330 100755 --- a/tests/generic/390 +++ b/tests/generic/390 @@ -58,7 +58,7 @@ _require_test_program "feature" _scratch_mkfs >>$seqres.full 2>&1 # We don't want to freeze/unfreeze root fs if mount scratch dev failed -_scratch_mount >>$seqres.full 2>&1 || _fail "mount failed" +_scratch_mount num_cpus=`$here/src/feature -o` diff --git a/tests/generic/403 b/tests/generic/403 index 31c481b4e23e..d6706d3dd640 100755 --- a/tests/generic/403 +++ b/tests/generic/403 @@ -54,7 +54,7 @@ _require_scratch _require_attrs _scratch_mkfs > $seqres.full 2>&1 || _fail "mkfs" -_scratch_mount || _fail "mount" +_scratch_mount # create xattr small enough for local format on XFS touch $SCRATCH_MNT/file diff --git a/tests/generic/466 b/tests/generic/466 index 07f24a746151..341f0722ce3b 100755 --- a/tests/generic/466 +++ b/tests/generic/466 @@ -60,7 +60,7 @@ for blocksize in 512 1024 2048 4096 8192 16384 32768 65536; do # Try to format and mount with the given blocksize. If they don't # succeed, move on to the next block size. if ! _scratch_mkfs_sized $devsize $blocksize >> $seqres.full 2>&1 || - ! _scratch_mount >> $seqres.full 2>&1 || + ! _try_scratch_mount >> $seqres.full 2>&1 || test "$(stat -f -c '%S' $SCRATCH_MNT)" -ne "$blocksize"; then echo "+++ Format and mount failed" >> $seqres.full continue diff --git a/tests/shared/003 b/tests/shared/003 index 8e02e8215848..9a9956cf44de 100755 --- a/tests/shared/003 +++ b/tests/shared/003 @@ -63,7 +63,7 @@ debugfs -w -R "feature +needs_recovery" $SCRATCH_DEV \ >>$seqres.full 2>&1 # mount with noload option -_scratch_mount "-o noload" >>$seqres.full 2>&1 +_try_scratch_mount "-o noload" >>$seqres.full 2>&1 # success, all done status=0 diff --git a/tests/xfs/005 b/tests/xfs/005 index ebf4b15ec9b5..0978729bcfa6 100755 --- a/tests/xfs/005 +++ b/tests/xfs/005 @@ -59,7 +59,7 @@ _scratch_mkfs_xfs -m crc=1 >> $seqres.full 2>&1 || _fail "mkfs failed" $XFS_IO_PROG -c "pwrite 224 4" -c fsync $SCRATCH_DEV | _filter_xfs_io # should FAIL, the crc is bad; golden output contains mount failure -_scratch_mount 2>&1 | _filter_error_mount +_try_scratch_mount 2>&1 | _filter_error_mount # success, all done status=0 diff --git a/tests/xfs/009 b/tests/xfs/009 index 1a5bd4d346fd..1caeb33e780f 100755 --- a/tests/xfs/009 +++ b/tests/xfs/009 @@ -58,7 +58,7 @@ _init() fi echo "*** mount" - if ! _scratch_mount + if ! _try_scratch_mount then echo "failed to mount $SCRATCH_DEV" exit 1 diff --git a/tests/xfs/016 b/tests/xfs/016 index 0163716047d5..fde76622fad9 100755 --- a/tests/xfs/016 +++ b/tests/xfs/016 @@ -91,7 +91,7 @@ _log_traffic() out=$SCRATCH_MNT/$$.tmp echo " *** mount" - if ! _scratch_mount + if ! _try_scratch_mount then echo "failed to mount $SCRATCH_DEV" exit 1 diff --git a/tests/xfs/017 b/tests/xfs/017 index b576cd154038..5aeba16e0b2e 100755 --- a/tests/xfs/017 +++ b/tests/xfs/017 @@ -59,8 +59,7 @@ echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs_xfs >>$seqres.full 2>&1 \ || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed" +_scratch_mount echo "*** test" @@ -70,7 +69,7 @@ do FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -n 1000 $FSSTRESS_AVOID` $FSSTRESS_PROG $FSSTRESS_ARGS >>$seqres.full - _scratch_mount -o remount,ro \ + _try_scratch_mount -o remount,ro \ || _fail "remount ro failed" echo "" >>$seqres.full @@ -84,7 +83,7 @@ do echo "" >>$seqres.full _scratch_xfs_check >>$seqres.full 2>&1 \ || _fail "xfs_check failed" - _scratch_mount -o remount,rw \ + _try_scratch_mount -o remount,rw \ || _fail "remount rw failed" done diff --git a/tests/xfs/019 b/tests/xfs/019 index 3e4f1692ff89..10d4494682c5 100755 --- a/tests/xfs/019 +++ b/tests/xfs/019 @@ -122,7 +122,7 @@ _verify_fs() echo "*** mount FS" _full " mount" - _scratch_mount >>$seqfull 2>&1 \ + _try_scratch_mount >>$seqfull 2>&1 \ || _fail "mount failed" echo "*** verify FS" diff --git a/tests/xfs/021 b/tests/xfs/021 index 0471b9539af7..f8f4e1565905 100755 --- a/tests/xfs/021 +++ b/tests/xfs/021 @@ -87,8 +87,7 @@ _scratch_mkfs_xfs >/dev/null \ || _fail "mkfs failed" echo "*** mount FS" -_scratch_mount >/dev/null \ - || _fail "mount failed" +_scratch_mount testfile=$SCRATCH_MNT/testfile echo "*** make test file 1" diff --git a/tests/xfs/034 b/tests/xfs/034 index 2bf319bf6882..a3db571ad021 100755 --- a/tests/xfs/034 +++ b/tests/xfs/034 @@ -57,8 +57,7 @@ echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs_xfs >>$seqres.full 2>&1 \ || _fail "mkfs failed" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed" +_scratch_mount echo "*** test" diff --git a/tests/xfs/041 b/tests/xfs/041 index 1b9500f723bb..d5ecc6df8ca7 100755 --- a/tests/xfs/041 +++ b/tests/xfs/041 @@ -67,7 +67,7 @@ _scratch_mkfs_xfs -dsize=${agsize}m,agcount=1 2>&1 >/dev/null || _fail "mkfs fai bsize=`_scratch_mkfs_xfs -dsize=${agsize}m,agcount=1 2>&1 | _filter_mkfs 2>&1 \ | perl -ne 'if (/dbsize=(\d+)/) {print $1;}'` onemeginblocks=`expr 1048576 / $bsize` -_scratch_mount || _fail "mount failed" +_scratch_mount echo "done" @@ -81,7 +81,7 @@ do _do "Grow filesystem to ${size}m" "xfs_growfs -D $grow_size $SCRATCH_MNT" echo -n "Flush filesystem... " _do "_scratch_unmount" - _do "_scratch_mount" + _do "_try_scratch_mount" echo "done" echo -n "Check files... " if ! _do "src/fill2fs_check $tmp.manifest"; then diff --git a/tests/xfs/042 b/tests/xfs/042 index 182cebc313e3..45117d9c5a1c 100755 --- a/tests/xfs/042 +++ b/tests/xfs/042 @@ -75,7 +75,7 @@ _do_die_on_error=message_only echo -n "Make a 48 megabyte filesystem on SCRATCH_DEV and mount... " _scratch_mkfs_xfs -dsize=48m,agcount=3 2>&1 >/dev/null || _fail "mkfs failed" -_scratch_mount || _fail "mount failed" +_scratch_mount echo "done" @@ -97,7 +97,7 @@ _do "xfs_bmap -vp $SCRATCH_MNT/fill" echo "done" # flush the filesystem - make sure there is no space "lost" to pre-allocation _do "_scratch_unmount" -_do "_scratch_mount" +_do "_try_scratch_mount" echo -n "Use up any further available space... " _do "$XFS_IO_PROG -f -c \"falloc 0 1m\" $SCRATCH_MNT/pad" echo "done" diff --git a/tests/xfs/044 b/tests/xfs/044 index fc5dae024e07..70f72d6930ad 100755 --- a/tests/xfs/044 +++ b/tests/xfs/044 @@ -60,7 +60,7 @@ _filter_logprint() _check_mount() { echo " *** mount (expect success)" - if ! _scratch_mount + if ! _try_scratch_mount then echo " !!! mount failed (expecting success)" status=1 @@ -79,7 +79,7 @@ _check_mount() _check_no_mount() { echo " *** mount (expect failure)" - if _scratch_mount >$tmp.err 2>&1 + if _try_scratch_mount >$tmp.err 2>&1 then cat $tmp.err echo " !!! mount succeeded (expecting failure)" diff --git a/tests/xfs/045 b/tests/xfs/045 index 2733f5c1c22b..adf8566374b5 100755 --- a/tests/xfs/045 +++ b/tests/xfs/045 @@ -61,7 +61,7 @@ then fi echo "*** mount fs with bad mount option (expect failure)" -if _scratch_mount -o foobar >$tmp.out 2>&1 +if _try_scratch_mount -o foobar >$tmp.out 2>&1 then cat $tmp.out echo "!!! mount succeeded (expecting failure)" @@ -72,7 +72,7 @@ echo "*** duplicate uuid" xfs_db -x -c "uuid $uuid" `_scratch_xfs_db_options` >/dev/null echo "*** mount fs with duplicate uuid (expect failure)" -if _scratch_mount >$tmp.out 2>&1 +if _try_scratch_mount >$tmp.out 2>&1 then cat $tmp.out echo "!!! mount succeeded (expecting failure)" diff --git a/tests/xfs/057 b/tests/xfs/057 index 74a253e0ef19..228f52bb010f 100755 --- a/tests/xfs/057 +++ b/tests/xfs/057 @@ -77,7 +77,7 @@ sdev=$(_short_dev $SCRATCH_DEV) # use a small log fs _scratch_mkfs_sized $((1024 * 1024 * 500)) >> $seqres.full 2>&1 || _fail "mkfs failed" -_scratch_mount || _fail "mount failed" +_scratch_mount # populate the fs with some data and cycle the mount to reset the log head/tail $FSSTRESS_PROG -d $SCRATCH_MNT -z -fcreat=1 -p 4 -n 100000 > /dev/null 2>&1 diff --git a/tests/xfs/067 b/tests/xfs/067 index c68ec0940064..743d94bb3e8a 100755 --- a/tests/xfs/067 +++ b/tests/xfs/067 @@ -52,7 +52,7 @@ if [ "$isize" -lt 1024 ]; then _scratch_mkfs_xfs -i size=1024 >>$seqres.full \ || _notrun "Cannot mkfs for this test using MKFS_OPTIONS specified" fi -_scratch_mount >>$seqres.full || _fail "mount failed" +_scratch_mount xfs_info $SCRATCH_MNT >>$seqres.full cd $SCRATCH_MNT diff --git a/tests/xfs/072 b/tests/xfs/072 index 5393cf8b047b..074c786970d5 100755 --- a/tests/xfs/072 +++ b/tests/xfs/072 @@ -54,7 +54,7 @@ rm -f $seqres.full _scratch_unmount >/dev/null 2>&1 _scratch_mkfs_xfs >/dev/null || _fail "mkfs failed" -_scratch_mount >/dev/null || _fail "mount failed" +_scratch_mount # check there's enough freespace on $SCRATCH_MNT ... (1GiB + 1MiB) avail=`df -P $SCRATCH_MNT | awk 'END {print $4}'` diff --git a/tests/xfs/073 b/tests/xfs/073 index 7228dd92d6ae..9bcc95ddece9 100755 --- a/tests/xfs/073 +++ b/tests/xfs/073 @@ -139,7 +139,7 @@ _require_loop rm -f $seqres.full _scratch_mkfs_xfs -dsize=41m,agcount=2 >>$seqres.full 2>&1 -_scratch_mount 2>/dev/null || _fail "initial scratch mount failed" +_scratch_mount echo echo === populating scratch device diff --git a/tests/xfs/075 b/tests/xfs/075 index ccf29ea19db3..3c2c894820de 100755 --- a/tests/xfs/075 +++ b/tests/xfs/075 @@ -50,10 +50,10 @@ echo "Silence is golden" _scratch_mkfs_sized $((512 * 1024 * 1024)) >$seqres.full # first ro mount with norecovery -_scratch_mount "-o ro,norecovery" >>$seqres.full 2>&1 \ +_try_scratch_mount "-o ro,norecovery" >>$seqres.full 2>&1 \ || _fail "First ro mount failed" # make sure a following remount,rw fails -_scratch_mount "-o remount,rw" >>$seqres.full 2>&1 \ +_try_scratch_mount "-o remount,rw" >>$seqres.full 2>&1 \ && _fail "Second rw remount succeeded" # success, all done diff --git a/tests/xfs/077 b/tests/xfs/077 index 6d5ac1a36bd7..c4b4de96a190 100755 --- a/tests/xfs/077 +++ b/tests/xfs/077 @@ -70,7 +70,7 @@ _test_uuid() | _filter_uuid $EXPECTED_UUID NEW_UUID=`_scratch_xfs_db -c "uuid" | awk '{print $NF}'` _check_scratch_fs - _scratch_mount || _fail "Mount failed after UUID $ACTION" + _try_scratch_mount || _fail "Mount failed after UUID $ACTION" _scratch_unmount } @@ -127,7 +127,7 @@ $XFS_COPY_PROG $SCRATCH_DEV $IMGFILE 2>&1 >> $seqres.full || \ _check_xfs_filesystem $IMGFILE none none || _fail "Copy looks corrupted" # The copy should have META_UUID feature set _fs_has_META_UUID $IMGFILE || _fail "META_UUID feature not set on copy" -_scratch_mount || _fail "Mount failed after UUID rewrite" +_try_scratch_mount || _fail "Mount failed after UUID rewrite" _scratch_unmount rm -f $IMGFILE diff --git a/tests/xfs/079 b/tests/xfs/079 index 8ac9d58db38c..3079455a599a 100755 --- a/tests/xfs/079 +++ b/tests/xfs/079 @@ -78,7 +78,7 @@ wait # log record extended header count, as the log record header can only handle 32k # of space. _scratch_unmount -_scratch_mount "-o logbsize=64k" +_try_scratch_mount "-o logbsize=64k" # The mount may not fail on v4 filesystems. Check for CRC mismatch warning # messages to detect failure in this case. diff --git a/tests/xfs/083 b/tests/xfs/083 index e2b5f823845d..5490bd20e8b3 100755 --- a/tests/xfs/083 +++ b/tests/xfs/083 @@ -75,7 +75,7 @@ scratch_repair() { elif [ "${res}" -eq 2 ]; then # replay log? echo "+++ replaying log" >> "${FSCK_LOG}" - _scratch_mount >> "${FSCK_LOG}" 2>&1 + _try_scratch_mount >> "${FSCK_LOG}" 2>&1 res=$? echo "+++ mount returns ${res}" >> "${FSCK_LOG}" if [ "${res}" -gt 0 ]; then @@ -127,7 +127,7 @@ echo "++ corrupt image" >> $seqres.full xfs_db -x -c blockget -c "blocktrash ${FUZZ_ARGS}" "${SCRATCH_DEV}" >> $seqres.full 2>&1 echo "++ mount image" >> $seqres.full -_scratch_mount >> $seqres.full 2>&1 +_try_scratch_mount >> $seqres.full 2>&1 echo "+++ test scratch" >> $seqres.full _scratch_fuzz_test >> $seqres.full 2>&1 @@ -149,7 +149,7 @@ _scratch_xfs_repair >> $seqres.full 2>&1 ROUND2_LOG="${tmp}-round2-${fsck_pass}.log" echo "++ mount image (2)" >> $ROUND2_LOG -_scratch_mount >> $ROUND2_LOG 2>&1 +_try_scratch_mount >> $ROUND2_LOG 2>&1 echo "++ chattr -R -i" >> $ROUND2_LOG $CHATTR_PROG -R -f -i "${SCRATCH_MNT}/" > /dev/null 2>> $ROUND2_LOG diff --git a/tests/xfs/085 b/tests/xfs/085 index 0c85850d2a62..57fc47c91d80 100755 --- a/tests/xfs/085 +++ b/tests/xfs/085 @@ -88,7 +88,7 @@ echo "+ corrupt image" $XFS_IO_PROG -f -c "pwrite -S 0x62 32 4" "${SCRATCH_DEV}" >> $seqres.full echo "+ mount image" -_scratch_mount 2>/dev/null && _fail "mount should not succeed" +_try_scratch_mount 2>/dev/null && _fail "mount should not succeed" echo "+ repair fs" _scratch_xfs_repair >> $seqres.full 2>&1 diff --git a/tests/xfs/090 b/tests/xfs/090 index 92b9e3d83d96..f4230bc292c9 100755 --- a/tests/xfs/090 +++ b/tests/xfs/090 @@ -57,7 +57,7 @@ _create_scratch() fi echo "*** mount" - if ! _scratch_mount + if ! _try_scratch_mount then echo "failed to mount $SCRATCH_DEV" exit 1 diff --git a/tests/xfs/092 b/tests/xfs/092 index 5a6931957a85..ea3b12294549 100755 --- a/tests/xfs/092 +++ b/tests/xfs/092 @@ -53,7 +53,7 @@ MOUNT_OPTIONS="$MOUNT_OPTIONS -o inode64" _scratch_mkfs_xfs | _filter_mkfs 2>/dev/null echo Silence is golden -_scratch_mount +_try_scratch_mount [ $? -eq 0 ] || echo "inode64 mount failed unexpectedly!" # success, all done diff --git a/tests/xfs/094 b/tests/xfs/094 index d3606f813815..13dcf6e2e77c 100755 --- a/tests/xfs/094 +++ b/tests/xfs/094 @@ -78,7 +78,7 @@ _create_scratch() fi echo "*** mount" - if ! _scratch_mount + if ! _try_scratch_mount then echo "failed to mount $SCRATCH_DEV" exit 1 diff --git a/tests/xfs/098 b/tests/xfs/098 index 24ce1d5d44ed..b32fc493f853 100755 --- a/tests/xfs/098 +++ b/tests/xfs/098 @@ -94,7 +94,7 @@ logblocks="$(_scratch_xfs_get_sb_field logblocks)" $XFS_IO_PROG -f -c "pwrite -S 0x62 ${logstart} $((logblocks * blksz))" "${SCRATCH_DEV}" >> $seqres.full echo "+ mount image" -_scratch_mount 2>/dev/null && _fail "mount should not succeed" +_try_scratch_mount 2>/dev/null && _fail "mount should not succeed" echo "+ repair fs" _repair_scratch_fs >> $seqres.full 2>&1 diff --git a/tests/xfs/103 b/tests/xfs/103 index 024416bd47b6..90109e3bd91d 100755 --- a/tests/xfs/103 +++ b/tests/xfs/103 @@ -46,7 +46,7 @@ _create_scratch() fi echo "*** mount" - if ! _scratch_mount 2>/dev/null + if ! _try_scratch_mount 2>/dev/null then echo "failed to mount $SCRATCH_DEV" exit 1 diff --git a/tests/xfs/104 b/tests/xfs/104 index c3b59775fdad..b716437400e9 100755 --- a/tests/xfs/104 +++ b/tests/xfs/104 @@ -42,7 +42,7 @@ _create_scratch() . $tmp.mkfs echo "*** mount" - if ! _scratch_mount 2>/dev/null + if ! _try_scratch_mount 2>/dev/null then echo "failed to mount $SCRATCH_DEV" exit 1 diff --git a/tests/xfs/111 b/tests/xfs/111 index d5a09bbd32d6..8bc5e28b6a39 100755 --- a/tests/xfs/111 +++ b/tests/xfs/111 @@ -70,7 +70,7 @@ BYTE=`_scratch_xfs_db -c "convert inode $INO byte" \ echo Blat inode clusters src/itrash $SCRATCH_DEV $BYTE -_scratch_mount || _fail "Couldn't mount after itrash" +_try_scratch_mount || _fail "Couldn't mount after itrash" echo Attempting bulkstat #src/bstat -q $SCRATCH_MNT diff --git a/tests/xfs/121 b/tests/xfs/121 index 2f84a3c8b447..a380b7fb8058 100755 --- a/tests/xfs/121 +++ b/tests/xfs/121 @@ -54,8 +54,7 @@ _scratch_mkfs_xfs >>$seqres.full 2>&1 \ || _fail "mkfs scratch failed" echo "mount" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed: $MOUNT_OPTIONS" +_scratch_mount # num_files must be greater than 64 (XFS_AGI_UNLINKED_BUCKETS) # so that there will be at least one linked list from one of @@ -82,7 +81,7 @@ echo "logprint after going down..." _print_logstate echo "mount with replay" -_scratch_mount $mnt >>$seqres.full 2>&1 \ +_try_scratch_mount $mnt >>$seqres.full 2>&1 \ || _fail "mount failed: $mnt $MOUNT_OPTIONS" echo "godown" @@ -103,8 +102,7 @@ else fi # clean up dirty log with log recovery on mount -_scratch_mount >> $seqres.full 2>&1 \ - || _fail "mount failed" +_scratch_mount # success, all done status=0 diff --git a/tests/xfs/130 b/tests/xfs/130 index 1c3d642430fc..a9e0ff4853d9 100755 --- a/tests/xfs/130 +++ b/tests/xfs/130 @@ -79,7 +79,7 @@ seq 0 $((agcount - 1)) | while read ag; do done echo "+ mount image" -_scratch_mount >> $seqres.full 2>&1 && \ +_try_scratch_mount >> $seqres.full 2>&1 && \ echo "Should not be able to mount with broken refcountbt." _scratch_unmount >> $seqres.full 2>&1 diff --git a/tests/xfs/137 b/tests/xfs/137 index 093ef009b7da..6a19311860c3 100755 --- a/tests/xfs/137 +++ b/tests/xfs/137 @@ -69,13 +69,13 @@ _scratch_unmount # because the sb LSN is ahead of the current LSN. If it doesn't fail, push the # cycle back further and try again. _scratch_xfs_db -x -c "logformat" >> $seqres.full 2>&1 -_scratch_mount >> $seqres.full 2>&1 +_try_scratch_mount >> $seqres.full 2>&1 if [ $? != 0 ]; then echo mount failure detected else _scratch_unmount _scratch_xfs_db -x -c "logformat -c 2" >> $seqres.full 2>&1 - _scratch_mount >> $seqres.full 2>&1 || echo mount failure detected + _try_scratch_mount >> $seqres.full 2>&1 || echo mount failure detected fi # verify that repair detects invalid LSNs as well diff --git a/tests/xfs/141 b/tests/xfs/141 index f61e52428a51..80b5cb04ba80 100755 --- a/tests/xfs/141 +++ b/tests/xfs/141 @@ -79,7 +79,7 @@ for i in $(seq 1 5); do # Verify that we can remount the fs. Log recovery should handle the torn # write. _scratch_unmount - _scratch_mount || _fail "failed to mount" + _scratch_mount done # success, all done diff --git a/tests/xfs/177 b/tests/xfs/177 index 3957b49a8991..2aa4c7993039 100755 --- a/tests/xfs/177 +++ b/tests/xfs/177 @@ -59,8 +59,7 @@ _scratch_unmount > /dev/null 2>&1 _scratch_mkfs_xfs >/dev/null 2>&1 \ || _fail "mkfs failed" -_scratch_mount \ - || _fail "mount failed" +_scratch_mount # run Mark Goodwin test here # Usage: ./bulkstat_unlink_test iterations nfiles stride dir @@ -73,8 +72,7 @@ $here/src/bulkstat_unlink_test 20 1000 3 $SCRATCH_MNT/bulkstat # Mount scratch with ikeep enabled _scratch_unmount -_scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT" \ - || _fail "mount failed" +_scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT" echo "Start bulkstat_unlink_test_modified" $here/src/bulkstat_unlink_test_modified 10 1000 1 $SCRATCH_MNT/bulkstat diff --git a/tests/xfs/181 b/tests/xfs/181 index 07d7517174fd..3daea78807ad 100755 --- a/tests/xfs/181 +++ b/tests/xfs/181 @@ -61,8 +61,7 @@ _scratch_mkfs_xfs >>$seqres.full 2>&1 \ || _fail "mkfs scratch failed" echo "mount" -_scratch_mount >>$seqres.full 2>&1 \ - || _fail "mount failed: $MOUNT_OPTIONS" +_scratch_mount # num_files must be greater than 64 (XFS_AGI_UNLINKED_BUCKETS) # so that there will be at least one linked list from one of diff --git a/tests/xfs/183 b/tests/xfs/183 index 764c1d5c6f27..390cfc8e444a 100755 --- a/tests/xfs/183 +++ b/tests/xfs/183 @@ -53,8 +53,7 @@ _require_scratch _scratch_mkfs_xfs >/dev/null 2>&1 \ || _fail "mkfs failed" -_scratch_mount \ - || _fail "mount failed" +_scratch_mount # run Mark Goodwin test here # Usage: ./bulkstat_unlink_test iterations nfiles stride dir diff --git a/tests/xfs/189 b/tests/xfs/189 index 699eb3c1f941..e2654e516823 100755 --- a/tests/xfs/189 +++ b/tests/xfs/189 @@ -108,7 +108,7 @@ _test_remount_rw() echo echo "try remount ro,filestreams -> rw,filestreams" echo - _scratch_mount -o ro,filestreams + _try_scratch_mount -o ro,filestreams [ $? -eq 0 ] || echo "ro,filestreams mount failed unexpectedly" _check_mount ro filestreams @@ -127,7 +127,7 @@ _test_remount_rw() echo echo "try remount ro,noattr2 -> rw,attr2" echo - _scratch_mount -o ro,noattr2 + _try_scratch_mount -o ro,noattr2 [ $? -eq 0 ] || echo "ro,noattr2 mount failed unexpectedly" _check_mount ro @@ -149,7 +149,7 @@ _test_remount_write() echo echo "try touching file after remount ro -> rw with options" echo - _scratch_mount + _try_scratch_mount [ $? -eq 0 ] || echo "mount (1) failed unexpectedly" touch $SCRATCH_MNT/foobar @@ -157,7 +157,7 @@ _test_remount_write() _scratch_unmount - _scratch_mount -o ro + _try_scratch_mount -o ro [ $? -eq 0 ] || echo "mount (2) failed unexpectedly" _mount -o remount,rw,filestreams $SCRATCH_MNT @@ -181,15 +181,15 @@ _test_remount_barrier() echo # mention barrier explicitly even if it's currently the default just to be sure - _scratch_mount -o barrier + _try_scratch_mount -o barrier [ $? -eq 0 ] || echo "mount failed unexpectedly!" _check_mount rw - _scratch_mount -o remount,nobarrier + _try_scratch_mount -o remount,nobarrier [ $? -eq 0 ] || _fail "remount nobarrier failed" _check_mount rw nobarrier - _scratch_mount -o remount,barrier + _try_scratch_mount -o remount,barrier [ $? -eq 0 ] || _fail "remount barrier failed" _check_mount rw diff --git a/tests/xfs/263 b/tests/xfs/263 index 7aebf90b820e..e713dfdd3b19 100755 --- a/tests/xfs/263 +++ b/tests/xfs/263 @@ -82,7 +82,7 @@ function test_all_state() echo "== Options: $OPTIONS ==" # Some combinations won't mount on V4 supers (grp + prj) _qmount_option "$OPTIONS" - _scratch_mount &>> $seqres.full || continue + _try_scratch_mount &>> $seqres.full || continue $XFS_QUOTA_PROG -x -c "state" $SCRATCH_MNT | filter_quota_state _scratch_unmount done diff --git a/tests/xfs/270 b/tests/xfs/270 index 18e6c3861195..05dee7418153 100755 --- a/tests/xfs/270 +++ b/tests/xfs/270 @@ -63,14 +63,14 @@ $XFS_DB_PROG -x -c "sb 0" -c "write features_ro_compat $((2**31))" $SCRATCH_DEV # rw mount with unknown ro-compat feature should fail echo "rw mount test" -_scratch_mount 2>>$seqres.full +_try_scratch_mount 2>>$seqres.full if [ $? -eq 0 ]; then _fail "rw mount test failed" fi # But ro mount should succeed echo "ro mount test" -_scratch_mount -o ro +_try_scratch_mount -o ro if [ $? -ne 0 ]; then _fail "ro mount test failed" else diff --git a/tests/xfs/297 b/tests/xfs/297 index 708a7f864837..2ae2d437e45d 100755 --- a/tests/xfs/297 +++ b/tests/xfs/297 @@ -52,7 +52,7 @@ _require_command "$KILLALL_PROG" killall rm -f $seqres.full _scratch_mkfs_xfs -d agcount=16,su=256k,sw=12 -l su=256k,size=5120b >/dev/null 2>&1 -_scratch_mount >>$seqres.full 2>&1 || _fail "mount failed" +_scratch_mount STRESS_DIR="$SCRATCH_MNT/testdir" mkdir -p $STRESS_DIR diff --git a/tests/xfs/333 b/tests/xfs/333 index 2f394feda6c9..41949f922151 100755 --- a/tests/xfs/333 +++ b/tests/xfs/333 @@ -64,7 +64,7 @@ _scratch_unmount echo "Corrupt fs" _scratch_xfs_db -x -c 'sb 0' -c "write rrmapino $ino" >> $seqres.full -_scratch_mount 2>&1 | _filter_error_mount +_try_scratch_mount 2>&1 | _filter_error_mount echo "Test done, mount should have failed" diff --git a/tests/xfs/338 b/tests/xfs/338 index 755510c88cb9..25e6aec9c6aa 100755 --- a/tests/xfs/338 +++ b/tests/xfs/338 @@ -60,7 +60,7 @@ echo "Corrupt fs" _scratch_xfs_db -x -c 'sb 0' -c 'addr rrmapino' \ -c 'write core.nlinkv2 0' -c 'write core.mode 0' -c 'sb 0' \ -c 'write rrmapino 0' >> $seqres.full -_scratch_mount >> $seqres.full 2>&1 && echo "mount should have failed" +_try_scratch_mount >> $seqres.full 2>&1 && echo "mount should have failed" echo "Repair fs" _scratch_unmount 2>&1 | _filter_scratch diff --git a/tests/xfs/340 b/tests/xfs/340 index 7b1b7d13b1a2..8e82c0884fc8 100755 --- a/tests/xfs/340 +++ b/tests/xfs/340 @@ -65,7 +65,7 @@ _scratch_xfs_db -x -c "inode $rrmapino" \ -c 'write core.nblocks 0' -c 'sb 0' -c 'addr rootino' \ -c "write u3.sfdir3.list[2].inumber.i4 $rrmapino" \ -c 'sb 0' -c "write rrmapino $ino" >> $seqres.full -_scratch_mount >> $seqres.full 2>&1 && echo "mount should have failed" +_try_scratch_mount >> $seqres.full 2>&1 && echo "mount should have failed" echo "Repair fs" _scratch_unmount 2>&1 | _filter_scratch diff --git a/tests/xfs/433 b/tests/xfs/433 index 275116851722..be1ccfcfe775 100755 --- a/tests/xfs/433 +++ b/tests/xfs/433 @@ -65,7 +65,7 @@ _require_scratch _require_attrs _scratch_mkfs > $seqres.full 2>&1 -_scratch_mount || _fail "mount failure" +_scratch_mount file=$SCRATCH_MNT/testfile diff --git a/tests/xfs/434 b/tests/xfs/434 index 908f25435772..e859aebb1804 100755 --- a/tests/xfs/434 +++ b/tests/xfs/434 @@ -99,7 +99,7 @@ _scratch_xfs_db -x -c 'agf 0' -c 'addr refcntroot' -c 'fuzz -d recs[1].startbloc _scratch_xfs_db -x -c 'agf 0' -c 'addr refcntroot' -c p >> $seqres.full # Suddenly enable quota to test if we can leak the quotacheck dquots! -_scratch_mount -o quota >> $seqres.full 2>&1 +_try_scratch_mount -o quota >> $seqres.full 2>&1 _scratch_unmount 2> /dev/null rm -f ${RESULT_DIR}/require_scratch diff --git a/tests/xfs/435 b/tests/xfs/435 index 6ab8a614292f..dea28149e8c9 100755 --- a/tests/xfs/435 +++ b/tests/xfs/435 @@ -77,7 +77,7 @@ echo "Remount to check recovery" | tee /dev/ttyprintk _scratch_unmount _scratch_xfs_db -x -c 'agf 0' -c 'addr refcntroot' -c 'fuzz -d recs[1].startblock ones' >> $seqres.full _scratch_xfs_db -x -c 'agf 0' -c 'addr refcntroot' -c p >> $seqres.full -_scratch_mount -o quota >> $seqres.full 2>&1 +_try_scratch_mount -o quota >> $seqres.full 2>&1 _scratch_unmount 2> /dev/null rm -f ${RESULT_DIR}/require_scratch diff --git a/tests/xfs/436 b/tests/xfs/436 index ec19106ce12c..d357b8303d44 100755 --- a/tests/xfs/436 +++ b/tests/xfs/436 @@ -93,7 +93,7 @@ _scratch_unmount _scratch_dump_log >> $seqres.full _scratch_xfs_db -x -c 'agf 0' -c 'addr refcntroot' -c 'fuzz -d recs[1].startblock ones' >> $seqres.full _scratch_xfs_db -x -c 'agf 0' -c 'addr refcntroot' -c p >> $seqres.full -_scratch_mount -o noquota >> $seqres.full 2>&1 +_try_scratch_mount -o noquota >> $seqres.full 2>&1 _scratch_unmount 2> /dev/null rm -f ${RESULT_DIR}/require_scratch diff --git a/tests/xfs/439 b/tests/xfs/439 index 7be700cddff4..215c4b90cadb 100755 --- a/tests/xfs/439 +++ b/tests/xfs/439 @@ -67,7 +67,7 @@ lsunit=$(_scratch_xfs_get_sb_field logsunit) # Mount and writing log may trigger a crash on buggy kernel # The fix applied kernel refuses to mount, so a mount failure is # expected -if _scratch_mount >> $seqres.full 2>&1; then +if _try_scratch_mount >> $seqres.full 2>&1; then for i in $(seq 1 1000); do echo > ${SCRATCH_MNT}/$i done diff --git a/tests/xfs/442 b/tests/xfs/442 index 05cffe98456d..8478426ad060 100755 --- a/tests/xfs/442 +++ b/tests/xfs/442 @@ -93,7 +93,7 @@ _qmount_option "usrquota,grpquota,prjquota" # xfs_qm_dqattach before performing reflink operations") though each of those # tests now have separate faster-running regression tests. _scratch_mkfs_sized $((1600 * 1048576)) > $seqres.full 2>&1 -_scratch_mount >> $seqres.full 2>&1 || _fail "mount failed..." +_scratch_mount >> $seqres.full 2>&1 nr_cpus=$((LOAD_FACTOR * 4)) nr_ops=$((25000 * nr_cpus * TIME_FACTOR)) diff --git a/tests/xfs/443 b/tests/xfs/443 index df9434f807f4..5653849d964d 100755 --- a/tests/xfs/443 +++ b/tests/xfs/443 @@ -64,7 +64,7 @@ _require_xfs_io_command "fpunch" _require_xfs_io_command "swapext" _scratch_mkfs | _filter_mkfs >> $seqres.full 2> $tmp.mkfs -_scratch_mount || _fail "mount failed" +_scratch_mount # get fs block size . $tmp.mkfs -- 2.14.3 -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html