diff options
author | Eryu Guan <eguan@redhat.com> | 2018-02-07 17:31:36 +0800 |
---|---|---|
committer | Eryu Guan <eguan@redhat.com> | 2018-02-22 14:02:44 +0800 |
commit | 69eb6281a9d37110364bd08476599efb3a996440 (patch) | |
tree | 6f370d338eae1c1e0951da3787715b136022a1db | |
parent | 729381bda427effaddbae25af6395bb257aaf63a (diff) | |
download | xfstests-69eb6281a9d37110364bd08476599efb3a996440.tar.gz |
fstests: _fail test by default when _scratch_mount fails
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.
Suggested-by: Andreas Gruenbacher <agruenba@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
109 files changed, 184 insertions, 192 deletions
diff --git a/common/attr b/common/attr index 66b0227f72..3d1385a493 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 c8a463a2ca..5eff3d92f1 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 2b3cfa0f06..7b9c10a254 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 189c59ee9b..3d77ebd2ce 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 f5441f5a82..d7a656f8bc 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 b964fd8cb0..f89765c1bf 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 bdb4ed684a..b48f6abade 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 a8b0e9369c..e1b07f495e 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 c4ed26192a..42a7e97496 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 2611c484ee..f8e037995a 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 @@ -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 9b20b03807..9ed78dee08 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 1b5b124d9a..de583cc355 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 57f9a79f5f..a8414b21fe 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 2ffb81730d..d720400519 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 85c82f07df..ac0f405a0d 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 cf3eac239b..be349e3d49 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 8d35579535..a834b7639d 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 e3c43c761b..ca1d64c3dc 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 ce486e6870..f7a0286e88 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 d5408661bb..6d46bd6c7d 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 eafe9a53cb..7f2d6974fb 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 bb9b7e574c..a1e511e30c 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 6719c8b945..aeaa2d3229 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 7264f37231..c84a28bfb0 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 03e4cd65bb..c21442fce2 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 85880faf09..1bf4fe5eb7 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 c0d26ac6e7..a9ce24d406 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 2a7b35fc3e..588c7a3f53 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 09db2e11fc..b7331ae21f 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 70f281dbaf..7d00bad6c1 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 9dcdde9e44..bdae86dd6f 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 3b24c87ca2..17ec7dd822 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 e6e8bc1b97..04acfb541f 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 126f08e633..168b55c2df 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 cf46a93cf7..e2765d2f4c 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 12f471a190..84b76e67e5 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 c543e75179..7f565251bb 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 643f02c3f7..f0820eac91 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 156485eef3..26fb630168 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 bd12278cdd..1a852534a5 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 15586e9b91..0121929ba7 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 ac7653332c..033bc005dc 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 add16ea8f5..1175f6f4b5 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 c2db6bf1f7..7669249ce8 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 a41afe6e6d..7a11c1ac95 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 9f09a7b09e..ac97952c35 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 8b6aa5268b..6ee123e4a0 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 58165eaac7..67e68c6e91 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 7d65f6201e..1180c10a59 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 f51f4d1981..f0ed55edbd 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 f991b1b73e..9cd24729e5 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 318f532ae9..f5026ba0cd 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 fb5d9aa805..16687ded28 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 7e40b1fd76..6d1e932bde 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 e284317bd5..1c9b3f21da 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 e0f4821822..863f0d899b 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 473015a2ad..3bc6de2373 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 31c481b4e2..d6706d3dd6 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 07f24a7461..341f0722ce 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 8e02e82158..9a9956cf44 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 ebf4b15ec9..0978729bcf 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 1a5bd4d346..1caeb33e78 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 0163716047..fde76622fa 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 b576cd1540..5aeba16e0b 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 3e4f1692ff..10d4494682 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 0471b9539a..f8f4e15659 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 2bf319bf68..a3db571ad0 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 1b9500f723..d5ecc6df8c 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 182cebc313..45117d9c5a 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 fc5dae024e..70f72d6930 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 2733f5c1c2..adf8566374 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 74a253e0ef..228f52bb01 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 c68ec09400..743d94bb3e 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 5393cf8b04..074c786970 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 7228dd92d6..9bcc95ddec 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 ccf29ea19d..3c2c894820 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 6d5ac1a36b..c4b4de96a1 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 8ac9d58db3..3079455a59 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 e2b5f82384..5490bd20e8 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 0c85850d2a..57fc47c91d 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 92b9e3d83d..f4230bc292 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 5a6931957a..ea3b122945 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 d3606f8138..13dcf6e2e7 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 24ce1d5d44..b32fc493f8 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 024416bd47..90109e3bd9 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 c3b59775fd..b716437400 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 d5a09bbd32..8bc5e28b6a 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 2f84a3c8b4..a380b7fb80 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 1c3d642430..a9e0ff4853 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 093ef009b7..6a19311860 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 f61e52428a..80b5cb04ba 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 3957b49a89..2aa4c79930 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 07d7517174..3daea78807 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 764c1d5c6f..390cfc8e44 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 699eb3c1f9..e2654e5168 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 7aebf90b82..e713dfdd3b 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 18e6c38611..05dee74181 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 708a7f8648..2ae2d437e4 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 2f394feda6..41949f9221 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 755510c88c..25e6aec9c6 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 7b1b7d13b1..8e82c0884f 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 2751168517..be1ccfcfe7 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 908f254357..e859aebb18 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 6ab8a61429..dea28149e8 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 ec19106ce1..d357b8303d 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 7be700cddf..215c4b90ca 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 05cffe9845..8478426ad0 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 df9434f807..5653849d96 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 |