From: Eryu Guan Date: Wed, 7 Feb 2018 09:31:36 +0000 (+0800) Subject: fstests: _fail test by default when _scratch_mount fails X-Git-Tag: v2022.05.01~1643 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=69eb6281a9d37110364bd08476599efb3a996440;p=xfstests-dev.git 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 Reviewed-by: Darrick J. Wong Reviewed-by: Andreas Gruenbacher Signed-off-by: Eryu Guan --- diff --git a/common/attr b/common/attr index 66b0227f..3d1385a4 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 c8a463a2..5eff3d92 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 2b3cfa0f..7b9c10a2 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 189c59ee..3d77ebd2 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 f5441f5a..d7a656f8 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 b964fd8c..f89765c1 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 bdb4ed68..b48f6aba 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 a8b0e936..e1b07f49 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 c4ed2619..42a7e974 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 2611c484..f8e03799 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 a6caca96..51dc9f76 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 9b20b038..9ed78dee 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 1b5b124d..de583cc3 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 57f9a79f..a8414b21 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 2ffb8173..d7204005 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 85c82f07..ac0f405a 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 cf3eac23..be349e3d 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 8d355795..a834b763 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 e3c43c76..ca1d64c3 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 ce486e68..f7a0286e 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 d5408661..6d46bd6c 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 eafe9a53..7f2d6974 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 bb9b7e57..a1e511e3 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 6719c8b9..aeaa2d32 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 7264f372..c84a28bf 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 03e4cd65..c21442fc 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 85880faf..1bf4fe5e 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 c0d26ac6..a9ce24d4 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 2a7b35fc..588c7a3f 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 09db2e11..b7331ae2 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 70f281db..7d00bad6 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 9dcdde9e..bdae86dd 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 3b24c87c..17ec7dd8 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 e6e8bc1b..04acfb54 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 126f08e6..168b55c2 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 cf46a93c..e2765d2f 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 12f471a1..84b76e67 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 c543e751..7f565251 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 643f02c3..f0820eac 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 156485ee..26fb6301 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 bd12278c..1a852534 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 15586e9b..0121929b 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 ac765333..033bc005 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 add16ea8..1175f6f4 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 c2db6bf1..7669249c 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 a41afe6e..7a11c1ac 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 9f09a7b0..ac97952c 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 8b6aa526..6ee123e4 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 58165eaa..67e68c6e 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 7d65f620..1180c10a 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 f51f4d19..f0ed55ed 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 f991b1b7..9cd24729 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 318f532a..f5026ba0 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 fb5d9aa8..16687ded 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 7e40b1fd..6d1e932b 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 e284317b..1c9b3f21 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 e0f48218..863f0d89 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 473015a2..3bc6de23 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 31c481b4..d6706d3d 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 07f24a74..341f0722 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 8e02e821..9a9956cf 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 ebf4b15e..0978729b 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 1a5bd4d3..1caeb33e 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 01637160..fde76622 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 b576cd15..5aeba16e 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 3e4f1692..10d44946 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 0471b953..f8f4e156 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 2bf319bf..a3db571a 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 1b9500f7..d5ecc6df 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 182cebc3..45117d9c 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 fc5dae02..70f72d69 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 2733f5c1..adf85663 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 74a253e0..228f52bb 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 c68ec094..743d94bb 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 5393cf8b..074c7869 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 7228dd92..9bcc95dd 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 ccf29ea1..3c2c8948 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 6d5ac1a3..c4b4de96 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 8ac9d58d..3079455a 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 e2b5f823..5490bd20 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 0c85850d..57fc47c9 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 92b9e3d8..f4230bc2 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 5a693195..ea3b1229 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 d3606f81..13dcf6e2 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 24ce1d5d..b32fc493 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 024416bd..90109e3b 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 c3b59775..b7164374 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 d5a09bbd..8bc5e28b 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 2f84a3c8..a380b7fb 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 1c3d6424..a9e0ff48 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 093ef009..6a193118 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 f61e5242..80b5cb04 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 3957b49a..2aa4c799 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 07d75171..3daea788 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 764c1d5c..390cfc8e 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 699eb3c1..e2654e51 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 7aebf90b..e713dfdd 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 18e6c386..05dee741 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 708a7f86..2ae2d437 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 2f394fed..41949f92 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 755510c8..25e6aec9 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 7b1b7d13..8e82c088 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 27511685..be1ccfcf 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 908f2543..e859aebb 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 6ab8a614..dea28149 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 ec19106c..d357b830 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 7be700cd..215c4b90 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 05cffe98..8478426a 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 df9434f8..5653849d 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