diff --git a/tests/btrfs/057 b/tests/btrfs/057
index e932a657..ff002c86 100755
--- a/tests/btrfs/057
+++ b/tests/btrfs/057
@@ -17,7 +17,8 @@ _supported_fs btrfs
 _require_scratch
 _require_qgroup_rescan
 
-_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 
 _scratch_mount
 
diff --git a/tests/btrfs/132 b/tests/btrfs/132
index f50420f5..b10b8e2a 100755
--- a/tests/btrfs/132
+++ b/tests/btrfs/132
@@ -35,7 +35,8 @@ _require_scratch
 # to further increase the possibility
 # Since the false ENOSPC happens due to incorrect metadata reservation,
 # larger nodesize and small fs will make it much easier to reproduce
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 
 # Recommended to use MOUNT_OPTIONS="-o compress" to trigger the bug
 _scratch_mount
diff --git a/tests/btrfs/170 b/tests/btrfs/170
index ab105d36..103d097f 100755
--- a/tests/btrfs/170
+++ b/tests/btrfs/170
@@ -25,7 +25,7 @@ _require_xfs_io_command "falloc" "-k"
 # later want to not have more space available for allocating data extents but
 # still have enough metadata space free for creating the snapshot.
 fs_size=$((2 * 1024 * 1024 * 1024)) # 2Gb
-_scratch_mkfs_sized $fs_size >>$seqres.full 2>&1
+_scratch_mkfs_sized $fs_size >>$seqres.full 2>&1 || _fail "mkfs failed"
 
 # Mount without space cache so that we can precisely fill all data space and
 # unallocated space later (space cache v1 uses data block groups).
diff --git a/tests/btrfs/177 b/tests/btrfs/177
index 7b004b83..4de18785 100755
--- a/tests/btrfs/177
+++ b/tests/btrfs/177
@@ -47,7 +47,7 @@ _require_scratch_size $((3 * 1024 * 1024)) #kB
 
 # First, create a 1GB filesystem.
 fssize=$((1024 * 1024 * 1024))
-_scratch_mkfs_sized $fssize >> $seqres.full 2>&1
+_scratch_mkfs_sized $fssize >> $seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount
 
 # Create a small file and run balance so we shall deal with the chunk
diff --git a/tests/btrfs/204 b/tests/btrfs/204
index ec751e42..7c036181 100755
--- a/tests/btrfs/204
+++ b/tests/btrfs/204
@@ -20,7 +20,7 @@ _supported_fs btrfs
 _require_scratch
 _require_xfs_io_command "fpunch"
 
-_scratch_mkfs_sized $((256 * 1024 *1024)) >> $seqres.full
+_scratch_mkfs_sized $((256 * 1024 *1024)) >> $seqres.full || _fail "mkfs failed"
 
 # max_inline ensures data is not inlined within metadata extents
 _scratch_mount "-o max_inline=0,nodatacow"
diff --git a/tests/btrfs/217 b/tests/btrfs/217
index 92bbba23..4be154b0 100755
--- a/tests/btrfs/217
+++ b/tests/btrfs/217
@@ -23,7 +23,8 @@ _require_scratch_size $((5 * 1024 * 1024)) #kB
 _require_fstrim
 
 # Create a 5G fs
-_scratch_mkfs_sized $((5 * 1024 * 1024 * 1024)) >> $seqres.full
+_scratch_mkfs_sized $((5 * 1024 * 1024 * 1024)) >> $seqres.full \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # Fstrim to populate the device->alloc_status CHUNK_TRIMMED bits
diff --git a/tests/btrfs/237 b/tests/btrfs/237
index 367019b6..823bf18a 100755
--- a/tests/btrfs/237
+++ b/tests/btrfs/237
@@ -53,6 +53,7 @@ if [[ $devsize -gt $fssize ]]; then
 else
 	_scratch_mkfs >> $seqres.full 2>&1
 fi
+[[ $? -ne 0 ]] && _fail "mkfs failed"
 _scratch_mount -o commit=1 # 1s commit time to speed up test
 
 uuid=$($BTRFS_UTIL_PROG filesystem show $SCRATCH_DEV |grep uuid: |\
diff --git a/tests/btrfs/250 b/tests/btrfs/250
index e7ddc2f1..ab39bfdb 100755
--- a/tests/btrfs/250
+++ b/tests/btrfs/250
@@ -36,7 +36,7 @@ _require_odirect
 # space available for allocating data extents but still have enough metadata
 # space free for the file writes.
 fs_size=$((1024 * 1024 * 1024)) # 1G
-_scratch_mkfs_sized $fs_size >>$seqres.full 2>&1
+_scratch_mkfs_sized $fs_size >>$seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount
 
 # Create our test file with the NOCOW attribute set.
diff --git a/tests/btrfs/253 b/tests/btrfs/253
index 5fbce070..2273e690 100755
--- a/tests/btrfs/253
+++ b/tests/btrfs/253
@@ -89,7 +89,8 @@ rm -f "${seqres}.full"
 
 # Make filesystem. 10GB is needed to test different chunk sizes for
 # metadata and data and the default size for volumes > 5GB is different.
-_scratch_mkfs_sized $((10 * 1024 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((10 * 1024 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 # Check if there is sufficient sysfs support.
diff --git a/tests/ext4/004 b/tests/ext4/004
index 0c2ad897..d23cc547 100755
--- a/tests/ext4/004
+++ b/tests/ext4/004
@@ -54,7 +54,8 @@ _require_command "$RESTORE_PROG" restore
 
 echo "Silence is golden"
 
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 rm -rf $restore_dir $TEST_DIR/restoresymtable
 
diff --git a/tests/ext4/036 b/tests/ext4/036
index 60ab0b90..a4bbe528 100755
--- a/tests/ext4/036
+++ b/tests/ext4/036
@@ -21,7 +21,7 @@ _require_scratch
 
 echo "Silence is golden"
 
-_scratch_mkfs_sized $((16*1024*1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((16*1024*1024)) >>$seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount
 
 # create a file and get its inode number, usually it's 12, but to be accurate
diff --git a/tests/ext4/038 b/tests/ext4/038
index 596de65b..a84d070b 100755
--- a/tests/ext4/038
+++ b/tests/ext4/038
@@ -23,7 +23,8 @@ echo "Silence is golden"
 # it is better to test all reserved inode numbers 1-10 here
 for i in {1..10}; do
 	# create smaller filesystems to save test time
-	_scratch_mkfs_sized $((16 * 1024 * 1024)) >>$seqres.full 2>&1
+	_scratch_mkfs_sized $((16 * 1024 * 1024)) >>$seqres.full 2>&1 \
+		|| _fail "mkfs failed"
 	$DEBUGFS_PROG -w -R "ssv last_orphan $i" $SCRATCH_DEV >>$seqres.full 2>&1
 	_scratch_mount
 	_scratch_unmount
diff --git a/tests/ext4/039 b/tests/ext4/039
index 4ca4058a..4945bab2 100755
--- a/tests/ext4/039
+++ b/tests/ext4/039
@@ -61,7 +61,8 @@ _supported_fs ext3 ext4
 _require_scratch
 _exclude_scratch_mount_option dax
 
-_scratch_mkfs_sized $((64 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((64 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 if ! _workout; then
diff --git a/tests/ext4/048 b/tests/ext4/048
index c23c0ea3..a499038e 100755
--- a/tests/ext4/048
+++ b/tests/ext4/048
@@ -81,7 +81,8 @@ test_file1="test0001"
 test_file2="test0002"
 test_file3="test0003"
 
-_scratch_mkfs_sized $((128 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((128 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 
 # create scratch dir for testing
 # create some files with no name a substr of another name so we can grep later
diff --git a/tests/ext4/050 b/tests/ext4/050
index 6f93b86d..95326771 100755
--- a/tests/ext4/050
+++ b/tests/ext4/050
@@ -24,7 +24,8 @@ _require_test_program "checkpoint_journal"
 
 testdir="${SCRATCH_MNT}/testdir"
 
-_scratch_mkfs_sized $((64 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((64 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _require_metadata_journaling $SCRATCH_DEV
 _scratch_mount >> $seqres.full 2>&1
 blocksize=$(_get_block_size $SCRATCH_MNT)
diff --git a/tests/ext4/271 b/tests/ext4/271
index 8d9bd7dc..feceb7f3 100755
--- a/tests/ext4/271
+++ b/tests/ext4/271
@@ -20,7 +20,8 @@ _require_scratch
 _exclude_scratch_mount_option "data" "commit" "journal_checksum" \
 			      "journal_async_commit"
 
-_scratch_mkfs_sized $((128 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((128 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 
 # -onoload and EXT4_SYNC_FL on file is important becase result in
 # metadata sync writes inside ext4_handle_dirty_metadata()
diff --git a/tests/ext4/307 b/tests/ext4/307
index 8b1cfc9e..b63e1e91 100755
--- a/tests/ext4/307
+++ b/tests/ext4/307
@@ -41,7 +41,8 @@ _require_scratch
 _require_defrag
 _require_xfs_io_command "falloc"
 
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 _workout
diff --git a/tests/f2fs/001 b/tests/f2fs/001
index 2bf39d8c..4c7d7c7a 100755
--- a/tests/f2fs/001
+++ b/tests/f2fs/001
@@ -29,7 +29,8 @@ testfile=$SCRATCH_MNT/testfile
 dummyfile=$SCRATCH_MNT/dummyfile
 
 # build 4GB filesystem
-_scratch_mkfs_sized $((4 * 1024 * 1024 * 1024)) > /dev/null 2>&1
+_scratch_mkfs_sized $((4 * 1024 * 1024 * 1024)) > /dev/null 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 echo "==== create small file ===="
diff --git a/tests/generic/027 b/tests/generic/027
index 47f1981d..a8689a15 100755
--- a/tests/generic/027
+++ b/tests/generic/027
@@ -35,7 +35,8 @@ _require_scratch
 
 echo "Silence is golden"
 
-_scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 echo "Reserve 2M space" >>$seqres.full
diff --git a/tests/generic/081 b/tests/generic/081
index 0996f221..71ef19e0 100755
--- a/tests/generic/081
+++ b/tests/generic/081
@@ -67,7 +67,8 @@ lvsize=$((size * 85 / 100))	 # ~256M
 
 # make sure there's enough disk space for 256M lv, test for 300M here in case
 # lvm uses some space for metadata
-_scratch_mkfs_sized $((size * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((size * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 $LVM_PROG vgcreate -f $vgname $SCRATCH_DEV >>$seqres.full 2>&1
 # We use yes pipe instead of 'lvcreate --yes' because old version of lvm
 # (like 2.02.95 in RHEL6) don't support --yes option
diff --git a/tests/generic/085 b/tests/generic/085
index 786d8e6f..7e501cf8 100755
--- a/tests/generic/085
+++ b/tests/generic/085
@@ -52,7 +52,7 @@ echo "Silence is golden"
 
 size=$((256 * 1024 * 1024))
 size_in_sector=$((size / 512))
-_scratch_mkfs_sized $size >>$seqres.full 2>&1
+_scratch_mkfs_sized $size >>$seqres.full 2>&1 || _fail "mkfs failed"
 
 node=$seq-test
 lvdev=/dev/mapper/$node
diff --git a/tests/generic/096 b/tests/generic/096
index 41b646c0..d76b2f53 100755
--- a/tests/generic/096
+++ b/tests/generic/096
@@ -23,7 +23,8 @@ _require_xfs_io_command "fzero"
 echo "Silence is golden"
 
 # Use smaller scratch fs to shorten the test time
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 testfile=$SCRATCH_MNT/$seq.$$
diff --git a/tests/generic/102 b/tests/generic/102
index 3536ebf7..396cb80c 100755
--- a/tests/generic/102
+++ b/tests/generic/102
@@ -23,7 +23,7 @@ _supported_fs generic
 _require_scratch
 
 dev_size=$((1024 * 1024 * 1024))     # 1GB filesystem
-_scratch_mkfs_sized $dev_size >>$seqres.full 2>&1
+_scratch_mkfs_sized $dev_size >>$seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount
 
 for ((i = 0; i < 10; i++)); do
diff --git a/tests/generic/204 b/tests/generic/204
index a33a090f..31b920f2 100755
--- a/tests/generic/204
+++ b/tests/generic/204
@@ -31,7 +31,7 @@ _require_scratch
 [ $FSTYP = "xfs" ] && MKFS_OPTIONS="$MKFS_OPTIONS -l size=16m -i maxpct=50"
 
 SIZE=`expr 115 \* 1024 \* 1024`
-_scratch_mkfs_sized $SIZE 2> /dev/null > $tmp.mkfs.raw
+_scratch_mkfs_sized $SIZE 2> /dev/null > $tmp.mkfs.raw || _fail "mkfs failed"
 cat $tmp.mkfs.raw | _filter_mkfs 2> $tmp.mkfs > /dev/null
 _scratch_mount
 
diff --git a/tests/generic/224 b/tests/generic/224
index 26055ea2..6407aed0 100755
--- a/tests/generic/224
+++ b/tests/generic/224
@@ -30,7 +30,8 @@ _supported_fs generic
 _require_scratch
 
 # make a 1GB filesystem
-_scratch_mkfs_sized `expr 1024 \* 1024 \* 1024` > $seqres.full 2>&1
+_scratch_mkfs_sized `expr 1024 \* 1024 \* 1024` > $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 # set the reserved block pool to almost empty for XFS
diff --git a/tests/generic/226 b/tests/generic/226
index 34434730..5b0d5088 100755
--- a/tests/generic/226
+++ b/tests/generic/226
@@ -19,7 +19,8 @@ _require_odirect
 
 _scratch_unmount 2>/dev/null
 echo "--> mkfs 256m filesystem"
-_scratch_mkfs_sized `expr 256 \* 1024 \* 1024` >> $seqres.full 2>&1
+_scratch_mkfs_sized `expr 256 \* 1024 \* 1024` >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 loops=16
diff --git a/tests/generic/250 b/tests/generic/250
index 97e9522f..b4b98ad2 100755
--- a/tests/generic/250
+++ b/tests/generic/250
@@ -35,7 +35,7 @@ unset SCRATCH_RTDEV
 fssize=$((196 * 1048576))
 echo "Format and mount"
 $XFS_IO_PROG -d -c "pwrite -S 0x69 -b 1048576 0 $fssize" $SCRATCH_DEV >> $seqres.full
-_scratch_mkfs_sized $fssize > $seqres.full 2>&1
+_scratch_mkfs_sized $fssize > $seqres.full 2>&1 || _fail "mkfs failed"
 _dmerror_init
 _dmerror_mount >> $seqres.full 2>&1
 _dmerror_unmount
diff --git a/tests/generic/252 b/tests/generic/252
index 8c5adb53..6108183b 100755
--- a/tests/generic/252
+++ b/tests/generic/252
@@ -36,7 +36,7 @@ unset SCRATCH_RTDEV
 fssize=$((196 * 1048576))
 echo "Format and mount"
 $XFS_IO_PROG -d -c "pwrite -S 0x69 -b 1048576 0 $fssize" $SCRATCH_DEV >> $seqres.full
-_scratch_mkfs_sized $fssize > $seqres.full 2>&1
+_scratch_mkfs_sized $fssize > $seqres.full 2>&1 || _fail "mkfs failed"
 _dmerror_init
 _dmerror_mount >> $seqres.full 2>&1
 _dmerror_unmount
diff --git a/tests/generic/256 b/tests/generic/256
index ea6cc293..aa72a2a4 100755
--- a/tests/generic/256
+++ b/tests/generic/256
@@ -89,7 +89,8 @@ _test_full_fs_punch()
 
 # Make a small file system to fill
 _scratch_unmount &> /dev/null
-_scratch_mkfs_sized $(( 1536 * 1024 * 1024 )) &> /dev/null
+_scratch_mkfs_sized $(( 1536 * 1024 * 1024 )) &> /dev/null \
+	|| _fail "mkfs failed"
 _scratch_mount
 # Test must be able to write files with non-root permissions
 chmod 777 $SCRATCH_MNT
diff --git a/tests/generic/269 b/tests/generic/269
index b7cdecd9..c10bc908 100755
--- a/tests/generic/269
+++ b/tests/generic/269
@@ -42,7 +42,8 @@ _workout()
 _supported_fs generic
 _require_scratch
 
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 if ! _workout; then
diff --git a/tests/generic/270 b/tests/generic/270
index e7329c2f..3c495a5d 100755
--- a/tests/generic/270
+++ b/tests/generic/270
@@ -61,7 +61,8 @@ _require_command "$KILLALL_PROG" killall
 _require_command "$SETCAP_PROG" setcap
 _require_attrs security
 
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount "-o usrquota,grpquota"
 chmod 777 $SCRATCH_MNT
 quotacheck -u -g $SCRATCH_MNT 2>/dev/null
diff --git a/tests/generic/273 b/tests/generic/273
index 54c19996..53e18be7 100755
--- a/tests/generic/273
+++ b/tests/generic/273
@@ -125,7 +125,8 @@ echo "start the workload"
 echo "------------------------------"
 
 _scratch_unmount 2>/dev/null
-_scratch_mkfs_sized $((2 * 1024 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((2 * 1024 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 _do_workload
diff --git a/tests/generic/274 b/tests/generic/274
index 8c0e420e..ee1f71ea 100755
--- a/tests/generic/274
+++ b/tests/generic/274
@@ -39,7 +39,8 @@ echo "preallocation test"
 echo "------------------------------"
 
 _scratch_unmount 2>/dev/null
-_scratch_mkfs_sized $((2 * 1024 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((2 * 1024 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # Create a 4k file and Allocate 4M past EOF on that file
diff --git a/tests/generic/275 b/tests/generic/275
index f3b05409..effaee63 100755
--- a/tests/generic/275
+++ b/tests/generic/275
@@ -34,7 +34,8 @@ echo "write until ENOSPC test"
 echo "------------------------------"
 
 _scratch_unmount 2>/dev/null
-_scratch_mkfs_sized $((2 * 1024 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((2 * 1024 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # Certain filesystems such as XFS require sufficient free blocks to handle the
diff --git a/tests/generic/300 b/tests/generic/300
index 5ff141d3..fea951c3 100755
--- a/tests/generic/300
+++ b/tests/generic/300
@@ -110,7 +110,7 @@ EOF
 
 _require_fio $fio_config
 
-_scratch_mkfs_sized $FS_SIZE >> $seqres.full 2>&1
+_scratch_mkfs_sized $FS_SIZE >> $seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount
 
 echo ""
diff --git a/tests/generic/312 b/tests/generic/312
index 1926deb8..03ddd7c5 100755
--- a/tests/generic/312
+++ b/tests/generic/312
@@ -23,7 +23,7 @@ _require_scratch
 # 5G in byte
 fssize=$((2**30 * 5))
 
-_scratch_mkfs_sized $fssize >>$seqres.full 2>&1
+_scratch_mkfs_sized $fssize >>$seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount >>$seqres.full 2>&1
 
 echo "Silence is golden"
diff --git a/tests/generic/320 b/tests/generic/320
index ea65537f..15178435 100755
--- a/tests/generic/320
+++ b/tests/generic/320
@@ -79,7 +79,7 @@ do_workload()
 
 echo "Silence is golden"
 
-_scratch_mkfs_sized $fs_size >>$seqres.full 2>&1
+_scratch_mkfs_sized $fs_size >>$seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount >>$seqres.full 2>&1
 
 do_workload
diff --git a/tests/generic/333 b/tests/generic/333
index bf1967ce..fad4e357 100755
--- a/tests/generic/333
+++ b/tests/generic/333
@@ -30,7 +30,8 @@ _require_cp_reflink
 _require_odirect
 
 echo "Format and mount"
-_scratch_mkfs_sized $((400 * 1048576)) > $seqres.full 2>&1
+_scratch_mkfs_sized $((400 * 1048576)) > $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 testdir=$SCRATCH_MNT/test-$seq
diff --git a/tests/generic/334 b/tests/generic/334
index b9c14b87..f78641d6 100755
--- a/tests/generic/334
+++ b/tests/generic/334
@@ -29,7 +29,8 @@ _require_scratch_reflink
 _require_cp_reflink
 
 echo "Format and mount"
-_scratch_mkfs_sized $((400 * 1048576)) > $seqres.full 2>&1
+_scratch_mkfs_sized $((400 * 1048576)) > $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 testdir=$SCRATCH_MNT/test-$seq
diff --git a/tests/generic/361 b/tests/generic/361
index d76d2635..2ba49e9c 100755
--- a/tests/generic/361
+++ b/tests/generic/361
@@ -33,7 +33,8 @@ _require_loop
 _require_sparse_files
 
 # create a small filesystem to hold another filesystem image
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # create the sparse fs image and mount point
diff --git a/tests/generic/371 b/tests/generic/371
index a2fdaf7b..8861dc40 100755
--- a/tests/generic/371
+++ b/tests/generic/371
@@ -20,7 +20,8 @@ _require_scratch
 _require_xfs_io_command "falloc"
 test "$FSTYP" = "xfs" && _require_xfs_io_command "extsize"
 
-_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # Disable speculative post-EOF preallocation on XFS, which can grow fast enough
diff --git a/tests/generic/387 b/tests/generic/387
index 25ca86bb..0ee01594 100755
--- a/tests/generic/387
+++ b/tests/generic/387
@@ -19,7 +19,8 @@ _supported_fs generic
 _require_scratch_reflink
 
 #btrfs needs 256mb to create default blockgroup fs
-_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 testfile=$SCRATCH_MNT/testfile
diff --git a/tests/generic/399 b/tests/generic/399
index a5aa7107..dc42d5c8 100755
--- a/tests/generic/399
+++ b/tests/generic/399
@@ -42,7 +42,7 @@ fs_size_in_mb=64
 fs_size=$((fs_size_in_mb * 1024 * 1024))
 dd if=/dev/zero of=$SCRATCH_DEV bs=$((1024 * 1024)) \
 	count=$fs_size_in_mb &>> $seqres.full
-_scratch_mkfs_sized_encrypted $fs_size &>> $seqres.full
+_scratch_mkfs_sized_encrypted $fs_size &>> $seqres.full || _fail "mkfs failed"
 _scratch_mount
 
 keydesc=$(_generate_session_encryption_key)
diff --git a/tests/generic/416 b/tests/generic/416
index 0f6e3bc9..b0ce71c9 100755
--- a/tests/generic/416
+++ b/tests/generic/416
@@ -28,7 +28,7 @@ page_size=$(_get_page_size)
 nr_files=$(($fs_size / $page_size))
 
 # Use small fs to make the fill more faster
-_scratch_mkfs_sized $fs_size >> $seqres.full 2>&1
+_scratch_mkfs_sized $fs_size >> $seqres.full 2>&1 || _fail "mkfs failed"
 
 _scratch_mount
 
diff --git a/tests/generic/427 b/tests/generic/427
index 26385d36..01df59b1 100755
--- a/tests/generic/427
+++ b/tests/generic/427
@@ -27,7 +27,8 @@ _require_aiodio aio-dio-eof-race
 _require_no_compress
 
 # limit the filesystem size, to save the time of filling filesystem
-_scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # try to write more bytes than filesystem size to fill the filesystem,
diff --git a/tests/generic/449 b/tests/generic/449
index 2b77a6a4..916d1985 100755
--- a/tests/generic/449
+++ b/tests/generic/449
@@ -24,7 +24,8 @@ _require_test
 _require_acls
 _require_attrs trusted
 
-_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount || _fail "mount failed"
 
 # This is a test of xattr behavior when we run out of disk space for xattrs,
diff --git a/tests/generic/459 b/tests/generic/459
index c3f0b2b0..57cd0c52 100755
--- a/tests/generic/459
+++ b/tests/generic/459
@@ -76,7 +76,8 @@ is_shutdown_or_ro()
 }
 
 # Ensure we have enough disk space
-_scratch_mkfs_sized $((350 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((350 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 
 # Create a 200MB dm-thin POOL
 $LVM_PROG pvcreate -f $SCRATCH_DEV >>$seqres.full 2>&1
diff --git a/tests/generic/488 b/tests/generic/488
index 7b9dcc18..26f08040 100755
--- a/tests/generic/488
+++ b/tests/generic/488
@@ -16,7 +16,8 @@ _supported_fs generic
 _require_scratch
 _require_test_program "multi_open_unlink"
 
-_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 test_file="$SCRATCH_MNT/$seq"
diff --git a/tests/generic/511 b/tests/generic/511
index 61c21e42..d96d46df 100755
--- a/tests/generic/511
+++ b/tests/generic/511
@@ -19,7 +19,8 @@ _require_scratch
 _require_xfs_io_command "falloc" "-k"
 _require_xfs_io_command "fzero"
 
-_scratch_mkfs_sized $((1024 * 1024 * 256)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((1024 * 1024 * 256)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 $XFS_IO_PROG -fc "pwrite 0 256m" -c fsync $SCRATCH_MNT/file >>$seqres.full 2>&1
diff --git a/tests/generic/515 b/tests/generic/515
index 1d537dec..0b14f9e3 100755
--- a/tests/generic/515
+++ b/tests/generic/515
@@ -24,7 +24,8 @@ _require_xfs_io_command "falloc"
 # Fill disk with a well known pattern so that stale data exposure becomes much
 # more obvious.
 $XFS_IO_PROG -c "pwrite -S 0x58 -b 1m 0 300m" $SCRATCH_DEV >> $seqres.full
-_scratch_mkfs_sized $((300 * 1048576)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((300 * 1048576)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 DONOR1=$SCRATCH_MNT/a
diff --git a/tests/generic/520 b/tests/generic/520
index ad6764c7..9bf2a6eb 100755
--- a/tests/generic/520
+++ b/tests/generic/520
@@ -33,7 +33,7 @@ _require_scratch_nocheck
 _require_dm_target flakey
 
 # initialize scratch device
-_scratch_mkfs_sized $fssize >> $seqres.full 2>&1
+_scratch_mkfs_sized $fssize >> $seqres.full 2>&1 || _fail "mkfs failed"
 _require_metadata_journaling $SCRATCH_DEV
 _init_flakey
 
diff --git a/tests/generic/536 b/tests/generic/536
index 986ea1ee..3ff56914 100755
--- a/tests/generic/536
+++ b/tests/generic/536
@@ -21,7 +21,8 @@ _require_scratch
 _require_scratch_shutdown
 
 # create a small fs and initialize free blocks with a unique pattern
-_scratch_mkfs_sized $((1024 * 1024 * 100)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((1024 * 1024 * 100)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 $XFS_IO_PROG -f -c "pwrite -S 0xab 0 100m" -c fsync $SCRATCH_MNT/spc \
 	>> $seqres.full 2>&1
diff --git a/tests/generic/546 b/tests/generic/546
index 2eb99543..75de5478 100755
--- a/tests/generic/546
+++ b/tests/generic/546
@@ -35,7 +35,8 @@ _require_xfs_io_command "falloc"
 _require_scratch_reflink
 _require_dm_target flakey
 
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _require_metadata_journaling $SCRATCH_DEV
 _init_flakey
 _mount_flakey
diff --git a/tests/generic/558 b/tests/generic/558
index 510b06f2..c6b9e2e0 100755
--- a/tests/generic/558
+++ b/tests/generic/558
@@ -34,7 +34,8 @@ _require_scratch
 
 echo "Silence is golden"
 
-_scratch_mkfs_sized $((1024 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((1024 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 i=0
diff --git a/tests/generic/559 b/tests/generic/559
index 98ab4474..26f07443 100755
--- a/tests/generic/559
+++ b/tests/generic/559
@@ -18,7 +18,7 @@ _supported_fs generic
 _require_scratch_duperemove
 
 fssize=$((2 * 1024 * 1024 * 1024))
-_scratch_mkfs_sized $fssize > $seqres.full 2>&1
+_scratch_mkfs_sized $fssize > $seqres.full 2>&1 || _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 # fill the fs with a big file has same contents
diff --git a/tests/generic/562 b/tests/generic/562
index 7d98e569..d5a5993b 100755
--- a/tests/generic/562
+++ b/tests/generic/562
@@ -21,7 +21,8 @@ _require_scratch_reflink
 _require_test_program "punch-alternating"
 _require_xfs_io_command "fpunch"
 
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 file_size=$(( 200 * 1024 * 1024 )) # 200Mb
diff --git a/tests/generic/619 b/tests/generic/619
index c4bdfbce..b844d2f8 100755
--- a/tests/generic/619
+++ b/tests/generic/619
@@ -132,7 +132,7 @@ run_testcase()
 
 	for i in $(eval echo "{1..$test_iteration_cnt}"); do
 		# Setup the device
-		_scratch_mkfs_sized $FS_SIZE >> $seqres.full 2>&1
+		_scratch_mkfs_sized $FS_SIZE >> $seqres.full 2>&1 || _fail "mkfs failed"
 		_scratch_mount
 
 		debug "===== Test: $test_name iteration: $i starts ====="
diff --git a/tests/generic/626 b/tests/generic/626
index 7e577798..afb9322a 100755
--- a/tests/generic/626
+++ b/tests/generic/626
@@ -22,7 +22,8 @@ _supported_fs generic
 _require_scratch
 _require_renameat2 whiteout
 
-_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # Create lots of files, to help to trigger the bug easily
diff --git a/tests/generic/679 b/tests/generic/679
index ddf975a2..f6e95117 100755
--- a/tests/generic/679
+++ b/tests/generic/679
@@ -29,7 +29,8 @@ _supported_fs ^xfs
 rm -f $seqres.full
 
 # Create a 1G filesystem.
-_scratch_mkfs_sized $((1024 * 1024 * 1024)) >>$seqres.full 2>&1
+_scratch_mkfs_sized $((1024 * 1024 * 1024)) >>$seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 # Create a file with a size of 600M and two holes, each with a size of 1M and
diff --git a/tests/xfs/075 b/tests/xfs/075
index ec056fb3..82307e68 100755
--- a/tests/xfs/075
+++ b/tests/xfs/075
@@ -22,7 +22,7 @@ _require_scratch
 _qmount_option "defaults"
 
 echo "Silence is golden"
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >$seqres.full
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >$seqres.full || _fail "mkfs failed"
 
 # first ro mount with norecovery
 _try_scratch_mount "-o ro,norecovery" >>$seqres.full 2>&1 \
diff --git a/tests/xfs/107 b/tests/xfs/107
index 1ea9c492..c374d15d 100755
--- a/tests/xfs/107
+++ b/tests/xfs/107
@@ -32,7 +32,8 @@ size_mb=256
 # reproduce within the first 500KB's worth of ALLOCSP calls, so running up
 # to 16MB should suffice.
 $XFS_IO_PROG -d -c "pwrite -S 0x58 -b 8m 0 ${size_mb}m" $SCRATCH_DEV > $seqres.full
-MKFS_OPTIONS="-K $MKFS_OPTIONS" _scratch_mkfs_sized $((size_mb * 1048576)) >> $seqres.full
+MKFS_OPTIONS="-K $MKFS_OPTIONS" _scratch_mkfs_sized $((size_mb * 1048576)) \
+	>> $seqres.full || _fail "mkfs failed"
 
 _scratch_mount
 
diff --git a/tests/xfs/118 b/tests/xfs/118
index 6bb81a3a..f6d17706 100755
--- a/tests/xfs/118
+++ b/tests/xfs/118
@@ -28,7 +28,8 @@ _require_command "$XFS_FSR_PROG" "xfs_fsr"
 _require_xfs_io_command "falloc"
 
 # 50M
-_scratch_mkfs_sized $((50 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((50 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 
 echo "Silence is golden"
diff --git a/tests/xfs/127 b/tests/xfs/127
index f39b0582..c4237860 100755
--- a/tests/xfs/127
+++ b/tests/xfs/127
@@ -20,7 +20,8 @@ _require_no_large_scratch_dev
 _require_cp_reflink
 
 echo "Format and mount"
-_scratch_mkfs_sized $((512 * 1024 * 1024)) > $seqres.full 2>&1
+_scratch_mkfs_sized $((512 * 1024 * 1024)) > $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 testdir=$SCRATCH_MNT/test-$seq
diff --git a/tests/xfs/227 b/tests/xfs/227
index cd927dc4..0556412c 100755
--- a/tests/xfs/227
+++ b/tests/xfs/227
@@ -122,7 +122,8 @@ create_target_attr_last()
 }
 
 # use a small filesystem so we can control freespace easily
-_scratch_mkfs_sized $((50 * 1024 * 1024)) >> $seqres.full 2>&1
+_scratch_mkfs_sized $((50 * 1024 * 1024)) >> $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount
 fragment_freespace
 
diff --git a/tests/xfs/233 b/tests/xfs/233
index 2b2b8666..dedd1ef8 100755
--- a/tests/xfs/233
+++ b/tests/xfs/233
@@ -18,7 +18,8 @@ _require_xfs_scratch_rmapbt
 _require_no_large_scratch_dev
 
 echo "Format and mount"
-_scratch_mkfs_sized $((2 * 4096 * 4096)) > $seqres.full 2>&1
+_scratch_mkfs_sized $((2 * 4096 * 4096)) > $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 testdir=$SCRATCH_MNT/test-$seq
diff --git a/tests/xfs/442 b/tests/xfs/442
index b04b1c83..d55ccc17 100755
--- a/tests/xfs/442
+++ b/tests/xfs/442
@@ -68,7 +68,8 @@ _qmount_option "usrquota,grpquota,prjquota"
 # operations as delalloc for quota accounting") and ("xfs: call
 # 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_mkfs_sized $((1600 * 1048576)) > $seqres.full 2>&1 \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full 2>&1
 
 nr_cpus=$((LOAD_FACTOR * 4))
diff --git a/tests/xfs/529 b/tests/xfs/529
index cd176877..da4490b7 100755
--- a/tests/xfs/529
+++ b/tests/xfs/529
@@ -29,7 +29,8 @@ _require_xfs_io_error_injection "reduce_max_iextents"
 _require_xfs_io_error_injection "bmap_alloc_minlen_extent"
 
 echo "Format and mount fs"
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full \
+	|| _fail "mkfs failed"
 _scratch_mount -o uquota >> $seqres.full
 
 # bmap_alloc_minlen_extent only applies to the datadev space allocator, so
diff --git a/tests/xfs/532 b/tests/xfs/532
index 74a7ac30..06e41367 100755
--- a/tests/xfs/532
+++ b/tests/xfs/532
@@ -26,7 +26,8 @@ _require_xfs_io_error_injection "reduce_max_iextents"
 _require_xfs_io_error_injection "bmap_alloc_minlen_extent"
 
 echo "Format and mount fs"
-_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full
+_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full
 
 # Disable realtime inherit flag (if any) on root directory so that space on data
diff --git a/tests/xfs/534 b/tests/xfs/534
index f17c45b8..bb940e4a 100755
--- a/tests/xfs/534
+++ b/tests/xfs/534
@@ -22,7 +22,8 @@ _require_xfs_io_command "falloc"
 _require_xfs_io_error_injection "reduce_max_iextents"
 
 echo "Format and mount fs"
-_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full
+_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full
 
 bsize=$(_get_file_block_size $SCRATCH_MNT)
diff --git a/tests/xfs/535 b/tests/xfs/535
index f76c1725..1c72e3a2 100755
--- a/tests/xfs/535
+++ b/tests/xfs/535
@@ -25,7 +25,8 @@ _require_xfs_io_command "funshare"
 _require_xfs_io_error_injection "reduce_max_iextents"
 
 echo "Format and mount fs"
-_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full
 
 bsize=$(_get_block_size $SCRATCH_MNT)
diff --git a/tests/xfs/538 b/tests/xfs/538
index 0b5772a1..e8ac3918 100755
--- a/tests/xfs/538
+++ b/tests/xfs/538
@@ -23,7 +23,8 @@ _require_test_program "punch-alternating"
 _require_xfs_io_error_injection "bmap_alloc_minlen_extent"
 
 echo "Format and mount fs"
-_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full
+_scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full \
+	|| _fail "mkfs failed"
 _scratch_mount >> $seqres.full
 
 # Disable realtime inherit flag (if any) on root directory so that space on data
