All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] _fail test by default if _scratch_mount fails
@ 2018-02-13  9:12 Eryu Guan
  2018-02-13  9:12 ` [PATCH 1/2] fstests: introduce _scratch_mount_nocheck Eryu Guan
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Eryu Guan @ 2018-02-13  9:12 UTC (permalink / raw)
  To: fstests; +Cc: Andreas Gruenbacher, Darrick J . Wong, Eryu Guan

Hi all,

This is an RFC patchset that follows Andreas Gruenbacher's recent post
"Failing scratch mounts"[1]. It changes _scratch_mount to call _fail on
mount failure by default, so that when the mount fails, the tests won't
write to the underlying filesystem and fail in implicit way, which
sometimes makes debugging harder to do.

Also introduce a new _scratch_mount_nocheck helper, which mount scratch
device and doesn't check the mount status, for tests that need to check
mount status themselves.

This two-patch patchset should really be one patch, but for easy review,
I split the patch into two pieces, the first patch introduce the new
_scratch_mount_nocheck helper and converts _scratch_mount usages in
common dir, the second patch converts all the tests (which can be
tedious).

I've tested it by running full '-g auto' tests against xfs/xfs with
reflink/ext4/btrfs and I didn't see any new failures.

(Note that I based this patchset against fstests release on Feb. 4th, so
I didn't convert the new tests release on Feb. 11th. And as this is an
RFC, I didn't write detailed commit log in each patch.)

Thanks,
Eryu

[1] https://www.spinics.net/lists/fstests/msg08903.html

Eryu Guan (2):
  fstests: introduce _scratch_mount_nocheck
  fstests: use _scratch_mount_nocheck where appropriate in tests

 common/attr        |  2 +-
 common/dmapi       |  4 ++--
 common/dump        |  4 ++--
 common/encrypt     |  2 +-
 common/filestreams |  4 ++--
 common/fuzzy       |  4 ++--
 common/log         |  6 +++---
 common/overlay     |  2 +-
 common/punch       |  2 +-
 common/quota       |  4 ++--
 common/rc          | 38 ++++++++++++++++++++++----------------
 common/xfs         | 12 ++++++------
 tests/btrfs/004    |  6 +++---
 tests/btrfs/007    |  4 ++--
 tests/btrfs/009    |  2 +-
 tests/btrfs/012    |  4 ++--
 tests/btrfs/042    |  2 +-
 tests/btrfs/057    |  2 +-
 tests/btrfs/091    |  4 ++--
 tests/btrfs/131    |  4 ++--
 tests/btrfs/136    |  2 +-
 tests/ext4/003     |  2 +-
 tests/ext4/006     |  4 ++--
 tests/ext4/007     |  2 +-
 tests/ext4/008     |  2 +-
 tests/ext4/011     |  4 ++--
 tests/ext4/012     |  4 ++--
 tests/ext4/024     |  2 +-
 tests/ext4/025     |  2 +-
 tests/ext4/305     |  2 +-
 tests/ext4/306     |  2 +-
 tests/generic/015  |  2 +-
 tests/generic/019  |  4 ++--
 tests/generic/050  | 10 +++++-----
 tests/generic/052  |  4 ++--
 tests/generic/053  |  2 +-
 tests/generic/054  |  4 ++--
 tests/generic/055  |  4 ++--
 tests/generic/062  |  2 +-
 tests/generic/064  |  2 +-
 tests/generic/068  |  2 +-
 tests/generic/069  |  2 +-
 tests/generic/076  |  2 +-
 tests/generic/077  |  2 +-
 tests/generic/079  |  2 +-
 tests/generic/082  |  4 ++--
 tests/generic/083  |  2 +-
 tests/generic/105  |  2 +-
 tests/generic/117  |  2 +-
 tests/generic/120  |  2 +-
 tests/generic/169  |  2 +-
 tests/generic/235  |  4 ++--
 tests/generic/270  |  2 +-
 tests/generic/294  |  2 +-
 tests/generic/317  |  2 +-
 tests/generic/318  |  2 +-
 tests/generic/388  |  2 +-
 tests/generic/390  |  2 +-
 tests/generic/403  |  2 +-
 tests/generic/466  |  2 +-
 tests/shared/003   |  2 +-
 tests/xfs/005      |  2 +-
 tests/xfs/009      |  2 +-
 tests/xfs/016      |  2 +-
 tests/xfs/017      |  6 +++---
 tests/xfs/019      |  2 +-
 tests/xfs/021      |  3 +--
 tests/xfs/034      |  2 +-
 tests/xfs/041      |  4 ++--
 tests/xfs/042      |  4 ++--
 tests/xfs/044      |  4 ++--
 tests/xfs/045      |  4 ++--
 tests/xfs/057      |  2 +-
 tests/xfs/067      |  2 +-
 tests/xfs/072      |  2 +-
 tests/xfs/073      |  2 +-
 tests/xfs/075      |  4 ++--
 tests/xfs/077      |  4 ++--
 tests/xfs/079      |  2 +-
 tests/xfs/083      |  6 +++---
 tests/xfs/085      |  2 +-
 tests/xfs/090      |  2 +-
 tests/xfs/092      |  2 +-
 tests/xfs/094      |  2 +-
 tests/xfs/098      |  2 +-
 tests/xfs/103      |  2 +-
 tests/xfs/104      |  2 +-
 tests/xfs/111      |  2 +-
 tests/xfs/121      |  6 +++---
 tests/xfs/130      |  2 +-
 tests/xfs/137      |  4 ++--
 tests/xfs/141      |  2 +-
 tests/xfs/177      |  6 ++----
 tests/xfs/181      |  2 +-
 tests/xfs/183      |  3 +--
 tests/xfs/189      | 14 +++++++-------
 tests/xfs/263      |  2 +-
 tests/xfs/270      |  4 ++--
 tests/xfs/297      |  2 +-
 tests/xfs/333      |  2 +-
 tests/xfs/338      |  2 +-
 tests/xfs/340      |  2 +-
 tests/xfs/433      |  2 +-
 tests/xfs/434      |  2 +-
 tests/xfs/435      |  2 +-
 tests/xfs/436      |  2 +-
 tests/xfs/439      |  2 +-
 107 files changed, 180 insertions(+), 178 deletions(-)

-- 
2.14.3


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/2] fstests: introduce _scratch_mount_nocheck
  2018-02-13  9:12 [RFC PATCH 0/2] _fail test by default if _scratch_mount fails Eryu Guan
@ 2018-02-13  9:12 ` Eryu Guan
  2018-02-13 14:11   ` Andreas Gruenbacher
  2018-02-13  9:12 ` [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests Eryu Guan
  2018-02-13 14:15 ` [RFC PATCH 0/2] _fail test by default if _scratch_mount fails Andreas Gruenbacher
  2 siblings, 1 reply; 11+ messages in thread
From: Eryu Guan @ 2018-02-13  9:12 UTC (permalink / raw)
  To: fstests; +Cc: Andreas Gruenbacher, Darrick J . Wong, Eryu Guan

_fail test by default if _scratch_mount failed and introduce
_scratch_mount_nocheck for tests that need to check mount results
themselves.

Signed-off-by: Eryu Guan <eguan@redhat.com>
---
 common/attr        |  2 +-
 common/dmapi       |  4 ++--
 common/dump        |  4 ++--
 common/encrypt     |  2 +-
 common/filestreams |  4 ++--
 common/fuzzy       |  4 ++--
 common/log         |  6 +++---
 common/overlay     |  2 +-
 common/punch       |  2 +-
 common/quota       |  4 ++--
 common/rc          | 38 ++++++++++++++++++++++----------------
 common/xfs         | 12 ++++++------
 12 files changed, 45 insertions(+), 39 deletions(-)

diff --git a/common/attr b/common/attr
index 66b0227f721e..e83aadb803f7 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 \
+	_scratch_mount_nocheck -o noattr2 > /dev/null 2>&1 \
 		|| _notrun "noattr2 mount option not supported on $SCRATCH_DEV"
 	_scratch_unmount
 }
diff --git a/common/dmapi b/common/dmapi
index c8a463a2cac0..af0faf504a3d 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
+        _scratch_mount_nocheck
         dmapi_mount_result=$?
     else
-        _scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT"
+        _scratch_mount_nocheck "-o dmapi,mtpt=$SCRATCH_MNT"
         dmapi_mount_result=$?
     fi
 
diff --git a/common/dump b/common/dump
index 2b3cfa0f0607..7b9c10a25414 100644
--- a/common/dump
+++ b/common/dump
@@ -235,7 +235,7 @@ _wipe_fs()
     _require_scratch
 
     _scratch_mkfs_xfs >>$seqres.full || _fail "mkfs failed"
-    _scratch_mount >>$seqres.full || _fail "mount failed"
+    _scratch_mount >>$seqres.full
 }
 
 #
@@ -287,7 +287,7 @@ _stable_fs()
 {
     _saveddir=`pwd`; cd /
     _scratch_unmount >>$seqres.full || _fail "unmount failed"
-    _scratch_mount >>$seqres.full || _fail "mount failed"
+    _scratch_mount >>$seqres.full
     cd $_saveddir
 }
 
diff --git a/common/encrypt b/common/encrypt
index 189c59ee9bbd..4c5fce75fe62 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 ! _scratch_mount_nocheck &>>$seqres.full; then
 		_notrun "kernel is unaware of $FSTYP encryption feature," \
 			"or mkfs options are not compatible with encryption"
 	fi
diff --git a/common/filestreams b/common/filestreams
index f5441f5a82e9..a06020c8b3fb 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" \
+		_scratch_mount_nocheck "-o filestreams" \
 			|| _fail "filestreams mount failed"
 	else
 		# test will set inode flag
-		_scratch_mount || _fail "mount failed"
+		_scratch_mount
 	fi
 
 	cd $SCRATCH_MNT
diff --git a/common/fuzzy b/common/fuzzy
index b964fd8cb0fc..f5bd3f594666 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
+	_scratch_mount_nocheck 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
+	_scratch_mount_nocheck 2>&1
 	res=$?
 	if [ $res -eq 0 ]; then
 		# Try an online scrub unless we're fuzzing ag 0's sb,
diff --git a/common/log b/common/log
index bdb4ed684a08..2157b2848a69 100644
--- a/common/log
+++ b/common/log
@@ -370,7 +370,7 @@ _create_log()
 {
     # mount the FS
     _full "mount"
-    _scratch_mount >>$seqres.full 2>&1
+    _scratch_mount_nocheck >>$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
+    _scratch_mount_nocheck >>$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 ! _scratch_mount_nocheck >>$seqres.full 2>&1; then
         _notrun "mount/kernel does not support v2 logs"
     fi
 
diff --git a/common/overlay b/common/overlay
index a8b0e9369c86..054b759e1ce4 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 || \
+	_scratch_mount_nocheck -o $opts || \
 		_notrun "overlay options '$opts' cannot be enabled on ${SCRATCH_DEV}"
 
 	for feature in ${features[*]}; do
diff --git a/common/punch b/common/punch
index c4ed26192a22..42a7e97496b7 100644
--- a/common/punch
+++ b/common/punch
@@ -131,7 +131,7 @@ _test_punch() {
 		_dmapi_scratch_mount
 	else
 		# only unresvsp punch type is used, just do a normal mount
-		_scratch_mount || _fail "mount failed"
+		_scratch_mount
 	fi
 
 	cd $SCRATCH_MNT
diff --git a/common/quota b/common/quota
index 2611c484ee35..c1f1436458c2 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 \
+	_scratch_mount_nocheck >/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"
+    _scratch_mount_nocheck || _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 b9dc0b9206db..ddfcbec65135 100644
--- a/common/rc
+++ b/common/rc
@@ -352,13 +352,18 @@ _supports_filetype()
 	esac
 }
 
+_scratch_mount_nocheck()
+{
+	if [ "$FSTYP" == "overlay" ]; then
+		_overlay_scratch_mount $*
+		return $?
+	fi
+	_mount -t $FSTYP `_scratch_mount_options $*`
+}
+
 _scratch_mount()
 {
-    if [ "$FSTYP" == "overlay" ]; then
-        _overlay_scratch_mount $*
-        return $?
-    fi
-    _mount -t $FSTYP `_scratch_mount_options $*`
+	_scratch_mount_nocheck $* || _fail "_scratch_mount failed"
 }
 
 _scratch_unmount()
@@ -397,7 +402,7 @@ _scratch_cycle_mount()
 	opts="-o $opts"
     fi
     _scratch_unmount
-    _scratch_mount "$opts"
+    _scratch_mount_nocheck "$opts" || _fail "_scratch_cycle_mount failed"
 }
 
 _scratch_shutdown()
@@ -524,7 +529,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
+	_scratch_mount_nocheck 2>&1 >$tmp_dir/mnt.err
 	local status=$?
 	if [ $status -ne 0 ]; then
 		echo "mount failed"
@@ -1103,7 +1108,7 @@ _repair_scratch_fs()
 	res=$?
 	if [ "$res" -ne 0 ]; then
 		echo "xfs_repair returns $res; replay log?"
-		_scratch_mount
+		_scratch_mount_nocheck
 		res=$?
 		if [ "$res" -gt 0 ]; then
 			echo "mount returns $res; zap log?"
@@ -1872,7 +1877,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 \
+	_scratch_mount_nocheck >/dev/null 2>&1 \
 	   || _notrun "Kernel doesn't support metadata_csum feature"
 	_scratch_unmount
 }
@@ -1888,7 +1893,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 \
+    _scratch_mount_nocheck >/dev/null 2>&1 \
 	|| _notrun "Kernel doesn't support the ext4 feature(s): $1"
     _scratch_unmount
 }
@@ -2322,7 +2327,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 \
+	_scratch_mount_nocheck >/dev/null 2>&1 \
 		|| _notrun "kernel doesn't support richacl feature on $FSTYP"
 	_scratch_unmount
 }
@@ -2331,7 +2336,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 \
+	_scratch_mount_nocheck >/dev/null 2>&1 \
 		|| _notrun "kernel doesn't support richacl feature on $FSTYP"
 	_scratch_unmount
 }
@@ -2993,7 +2998,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 +3024,8 @@ _require_scratch_dax()
 {
 	_require_scratch
 	_scratch_mkfs > /dev/null 2>&1
-	_scratch_mount -o dax
+	_scratch_mount_nocheck -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 +3036,7 @@ _require_scratch_dax()
 # Does norecovery support by this fs?
 _require_norecovery()
 {
-	_scratch_mount -o ro,norecovery || \
+	_scratch_mount_nocheck -o ro,norecovery || \
 		_notrun "$FSTYP does not support norecovery"
 	_scratch_unmount
 }
@@ -3229,7 +3235,7 @@ _require_atime()
 _require_relatime()
 {
         _scratch_mkfs > /dev/null 2>&1
-        _scratch_mount -o relatime || \
+        _scratch_mount_nocheck -o relatime || \
                 _notrun "relatime not supported by the current kernel"
 	_scratch_unmount
 }
diff --git a/common/xfs b/common/xfs
index 9b20b0380782..c6d8f0938ac9 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
+	_scratch_mount_nocheck 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 \
+	_scratch_mount_nocheck >/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 \
+	_scratch_mount_nocheck >/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 \
+	_scratch_mount_nocheck >/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 \
+	_scratch_mount_nocheck >/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 \
+	_scratch_mount_nocheck >/dev/null 2>&1 \
 	   || _notrun "Kernel doesn't support meta_uuid feature"
 	_scratch_unmount
 }
-- 
2.14.3


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests
  2018-02-13  9:12 [RFC PATCH 0/2] _fail test by default if _scratch_mount fails Eryu Guan
  2018-02-13  9:12 ` [PATCH 1/2] fstests: introduce _scratch_mount_nocheck Eryu Guan
@ 2018-02-13  9:12 ` Eryu Guan
  2018-02-13  9:58   ` Amir Goldstein
  2018-02-13 23:31   ` Darrick J. Wong
  2018-02-13 14:15 ` [RFC PATCH 0/2] _fail test by default if _scratch_mount fails Andreas Gruenbacher
  2 siblings, 2 replies; 11+ messages in thread
From: Eryu Guan @ 2018-02-13  9:12 UTC (permalink / raw)
  To: fstests; +Cc: Andreas Gruenbacher, Darrick J . Wong, Eryu Guan

Also remove redundant status checks of _scratch_mount.

Signed-off-by: Eryu Guan <eguan@redhat.com>
---
 tests/btrfs/004   |  6 +++---
 tests/btrfs/007   |  4 ++--
 tests/btrfs/009   |  2 +-
 tests/btrfs/012   |  4 ++--
 tests/btrfs/042   |  2 +-
 tests/btrfs/057   |  2 +-
 tests/btrfs/091   |  4 ++--
 tests/btrfs/131   |  4 ++--
 tests/btrfs/136   |  2 +-
 tests/ext4/003    |  2 +-
 tests/ext4/006    |  4 ++--
 tests/ext4/007    |  2 +-
 tests/ext4/008    |  2 +-
 tests/ext4/011    |  4 ++--
 tests/ext4/012    |  4 ++--
 tests/ext4/024    |  2 +-
 tests/ext4/025    |  2 +-
 tests/ext4/305    |  2 +-
 tests/ext4/306    |  2 +-
 tests/generic/015 |  2 +-
 tests/generic/019 |  4 ++--
 tests/generic/050 | 10 +++++-----
 tests/generic/052 |  4 ++--
 tests/generic/053 |  2 +-
 tests/generic/054 |  4 ++--
 tests/generic/055 |  4 ++--
 tests/generic/062 |  2 +-
 tests/generic/064 |  2 +-
 tests/generic/068 |  2 +-
 tests/generic/069 |  2 +-
 tests/generic/076 |  2 +-
 tests/generic/077 |  2 +-
 tests/generic/079 |  2 +-
 tests/generic/082 |  4 ++--
 tests/generic/083 |  2 +-
 tests/generic/105 |  2 +-
 tests/generic/117 |  2 +-
 tests/generic/120 |  2 +-
 tests/generic/169 |  2 +-
 tests/generic/235 |  4 ++--
 tests/generic/270 |  2 +-
 tests/generic/294 |  2 +-
 tests/generic/317 |  2 +-
 tests/generic/318 |  2 +-
 tests/generic/388 |  2 +-
 tests/generic/390 |  2 +-
 tests/generic/403 |  2 +-
 tests/generic/466 |  2 +-
 tests/shared/003  |  2 +-
 tests/xfs/005     |  2 +-
 tests/xfs/009     |  2 +-
 tests/xfs/016     |  2 +-
 tests/xfs/017     |  6 +++---
 tests/xfs/019     |  2 +-
 tests/xfs/021     |  3 +--
 tests/xfs/034     |  2 +-
 tests/xfs/041     |  4 ++--
 tests/xfs/042     |  4 ++--
 tests/xfs/044     |  4 ++--
 tests/xfs/045     |  4 ++--
 tests/xfs/057     |  2 +-
 tests/xfs/067     |  2 +-
 tests/xfs/072     |  2 +-
 tests/xfs/073     |  2 +-
 tests/xfs/075     |  4 ++--
 tests/xfs/077     |  4 ++--
 tests/xfs/079     |  2 +-
 tests/xfs/083     |  6 +++---
 tests/xfs/085     |  2 +-
 tests/xfs/090     |  2 +-
 tests/xfs/092     |  2 +-
 tests/xfs/094     |  2 +-
 tests/xfs/098     |  2 +-
 tests/xfs/103     |  2 +-
 tests/xfs/104     |  2 +-
 tests/xfs/111     |  2 +-
 tests/xfs/121     |  6 +++---
 tests/xfs/130     |  2 +-
 tests/xfs/137     |  4 ++--
 tests/xfs/141     |  2 +-
 tests/xfs/177     |  6 ++----
 tests/xfs/181     |  2 +-
 tests/xfs/183     |  3 +--
 tests/xfs/189     | 14 +++++++-------
 tests/xfs/263     |  2 +-
 tests/xfs/270     |  4 ++--
 tests/xfs/297     |  2 +-
 tests/xfs/333     |  2 +-
 tests/xfs/338     |  2 +-
 tests/xfs/340     |  2 +-
 tests/xfs/433     |  2 +-
 tests/xfs/434     |  2 +-
 tests/xfs/435     |  2 +-
 tests/xfs/436     |  2 +-
 tests/xfs/439     |  2 +-
 95 files changed, 135 insertions(+), 139 deletions(-)

diff --git a/tests/btrfs/004 b/tests/btrfs/004
index 1b5b124d9a89..de583cc355d4 100755
--- a/tests/btrfs/004
+++ b/tests/btrfs/004
@@ -185,7 +185,7 @@ workout()
 	echo ""                                     >>$seqres.full
 	_scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \
 		|| _fail "size=$fsz mkfs failed"
-	run_check _scratch_mount
+	_scratch_mount
 	# -w ensures that the only ops are ones which cause write I/O
 	run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p $procs -n 2000 \
 		$FSSTRESS_AVOID
@@ -194,7 +194,7 @@ workout()
 		$SCRATCH_MNT/$snap_name
 
 	run_check _scratch_unmount >/dev/null 2>&1
-	run_check _scratch_mount "-o compress=lzo"
+	_scratch_mount "-o compress=lzo"
 
 	# make some noise but ensure we're not touching existing data
 	# extents.
@@ -208,7 +208,7 @@ workout()
 	run_check $FSSTRESS_PROG -d $clean_dir -w -p $procs -n 2000 \
 		$FSSTRESS_AVOID
 	run_check _scratch_unmount >/dev/null 2>&1
-	run_check _scratch_mount "-o atime"
+	_scratch_mount "-o atime"
 
 	if [ $do_bg_noise -ne 0 ]; then
 		# make background noise while backrefs are being walked
diff --git a/tests/btrfs/007 b/tests/btrfs/007
index 57f9a79f5f6f..a8414b21feac 100755
--- a/tests/btrfs/007
+++ b/tests/btrfs/007
@@ -65,7 +65,7 @@ workout()
 	echo ""                                     >>$seqres.full
 	_scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \
 		|| _fail "size=$fsz mkfs failed"
-	run_check _scratch_mount "-o noatime"
+	_scratch_mount "-o noatime"
 
 	run_check $FSSTRESS_PROG -d $SCRATCH_MNT -n $ops $FSSTRESS_AVOID -x \
 		"$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base"
@@ -91,7 +91,7 @@ workout()
 	echo ""                                     >>$seqres.full
 	_scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \
 		|| _fail "size=$fsz mkfs failed"
-	run_check _scratch_mount "-o noatime"
+	_scratch_mount "-o noatime"
 
 	_run_btrfs_util_prog receive $SCRATCH_MNT < $tmp/base.snap
 	run_check $FSSUM_PROG -r $tmp/base.fssum $SCRATCH_MNT/base
diff --git a/tests/btrfs/009 b/tests/btrfs/009
index 2ffb81730d24..56653130e01b 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"
+_scratch_mount_nocheck || _fail "mount should have succeeded"
 
 echo "Silence is golden"
 status=0 ; exit
diff --git a/tests/btrfs/012 b/tests/btrfs/012
index 85c82f07df4e..513547d8a878 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"
+_scratch_mount_nocheck || _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"
+_scratch_mount_nocheck || _fail "Could not mount new btrfs fs"
 $BTRFS_UTIL_PROG subvolume delete $SCRATCH_MNT/ext2_saved >> $seqres.full 2>&1 ||
 	_fail "failed to delete ext2_saved subvolume"
 _scratch_unmount
diff --git a/tests/btrfs/042 b/tests/btrfs/042
index cf3eac239b0f..be349e3d49c4 100755
--- a/tests/btrfs/042
+++ b/tests/btrfs/042
@@ -48,7 +48,7 @@ _require_btrfs_qgroup_report
 rm -f $seqres.full
 
 run_check _scratch_mkfs
-run_check _scratch_mount
+_scratch_mount
 
 LIMIT_SIZE=$((10 * 1024 * 1024))
 
diff --git a/tests/btrfs/057 b/tests/btrfs/057
index 8d355795359e..a834b7639d8f 100755
--- a/tests/btrfs/057
+++ b/tests/btrfs/057
@@ -54,7 +54,7 @@ run_check _scratch_mkfs "-b 1g --nodesize 4096"
 # inode cache is saved in the FS tree itself for every
 # individual FS tree,that affects the sizes reported by qgroup show
 # so we need to explicitly turn it off to get consistent values.
-run_check _scratch_mount "-o noinode_cache"
+_scratch_mount "-o noinode_cache"
 
 # -w ensures that the only ops are ones which cause write I/O
 run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p 5 -n 1000 \
diff --git a/tests/btrfs/091 b/tests/btrfs/091
index e3c43c761b4c..de9913da7a4a 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
+_scratch_mount_nocheck "-o noinode_cache,compress=no,compress-force=no" 2> /dev/null
 
 # Check for old kernel which doesn't support 'noinode_cache' mount option
 if [ $? -ne 0 ]; then
 	support_noinode_cache="no"
-	run_check _scratch_mount
+	_scratch_mount
 fi
 
 _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv1
diff --git a/tests/btrfs/131 b/tests/btrfs/131
index ce486e6870e1..911c805b4ced 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"
+_scratch_mount_nocheck -o nospace_cache >/dev/null 2>&1 || echo "mount failed"
+_scratch_mount_nocheck -o space_cache=v1 >/dev/null 2>&1 || echo "mount failed"
 
 mkfs_v2
 echo "Mounting existing free space tree"
diff --git a/tests/btrfs/136 b/tests/btrfs/136
index d5408661bb7a..2d5072d6ee5d 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"
+_scratch_mount_nocheck || _fail "Could not mount new btrfs fs"
 
 # Compute md5 for converted files.
 find "$SCRATCH_MNT/ext3_ext4_data" -type f -fprint "$BTRFS_MD5SUM"
diff --git a/tests/ext4/003 b/tests/ext4/003
index eafe9a53cb34..7f2d6974fb38 100755
--- a/tests/ext4/003
+++ b/tests/ext4/003
@@ -44,7 +44,7 @@ rm -f $seqres.full
 
 $MKFS_EXT4_PROG -F -O bigalloc -C 65536  -g 256 $SCRATCH_DEV 512m \
 	>> $seqres.full 2>&1
-_scratch_mount || _fail "couldn't mount fs"
+_scratch_mount
 
 $XFS_IO_PROG -f -c "pwrite 0 256m -b 1M" $SCRATCH_MNT/testfile 2>&1 | \
 	_filter_xfs_io
diff --git a/tests/ext4/006 b/tests/ext4/006
index bb9b7e574c29..396c20592a2e 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
+_scratch_mount_nocheck >> $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
+_scratch_mount_nocheck >> $ROUND2_LOG 2>&1
 
 echo "++ chattr -R -i" >> $ROUND2_LOG
 $CHATTR_PROG -R -f -i "${SCRATCH_MNT}/" > /dev/null 2>> $ROUND2_LOG
diff --git a/tests/ext4/007 b/tests/ext4/007
index 6719c8b9450f..587d57367aba 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"
+_scratch_mount_nocheck 2> /dev/null && _fail "mount should not succeed"
 
 echo "+ repair fs"
 # Have to specify backup sb and blocksize here so we don't pick up superblocks
diff --git a/tests/ext4/008 b/tests/ext4/008
index 7264f3723133..bc3b7d617c45 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"
+_scratch_mount_nocheck 2> /dev/null && _fail "mount should not succeed"
 
 echo "+ repair fs"
 e2fsck -fy "${SCRATCH_DEV}" >> $seqres.full 2>&1
diff --git a/tests/ext4/011 b/tests/ext4/011
index 03e4cd65bb87..a6bbcf9fdef6 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"
+_scratch_mount_nocheck 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"
+_scratch_mount_nocheck || _fail "mount should not fail; MMP has been fixed"
 
 echo "+ check fs (2)"
 e2fsck -fn "${SCRATCH_DEV}" >> $seqres.full 2>&1 || _fail "fsck should not fail"
diff --git a/tests/ext4/012 b/tests/ext4/012
index 85880faf098d..170178dc04c5 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"
+_scratch_mount_nocheck 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"
+_scratch_mount_nocheck || _fail "mount should not fail; journal has been fixed"
 
 echo "+ check fs (2)"
 e2fsck -fn "${SCRATCH_DEV}" >> $seqres.full 2>&1 || _fail "fsck should not fail"
diff --git a/tests/ext4/024 b/tests/ext4/024
index c0d26ac6e769..fa8d9a833473 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
+_scratch_mount_nocheck
 
 # success, all done
 echo "Didn't crash!"
diff --git a/tests/ext4/025 b/tests/ext4/025
index 2a7b35fc3ee2..ac847616bf41 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"
+_scratch_mount_nocheck >> $seqres.full 2>&1 || echo "Fail to mount ext4 fs expectedly"
 
 # success, all done
 status=0
diff --git a/tests/ext4/305 b/tests/ext4/305
index 09db2e11fc49..cee8e669bad0 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
+	_scratch_mount_nocheck
 	_scratch_unmount
 	let i=i+1
 done
diff --git a/tests/ext4/306 b/tests/ext4/306
index 70f281dbaf39..7d00bad6c1ce 100755
--- a/tests/ext4/306
+++ b/tests/ext4/306
@@ -53,7 +53,7 @@ if grep -q 64bit /etc/mke2fs.conf ; then
     features="^extents,^64bit"
 fi
 $MKFS_EXT4_PROG -F -O "$features" $SCRATCH_DEV 512m >> $seqres.full 2>&1
-_scratch_mount || _fail "couldn't mount fs"
+_scratch_mount
 
 # Create a small non-extent-based file
 echo "Create 1m testfile1"
diff --git a/tests/generic/015 b/tests/generic/015
index 9dcdde9e4462..bdae86dd6fb2 100755
--- a/tests/generic/015
+++ b/tests/generic/015
@@ -59,7 +59,7 @@ _require_no_large_scratch_dev
 # tolerance of 1%
 _scratch_mkfs_sized `expr 101 \* 1024 \* 1024` >/dev/null 2>&1 \
     || _fail "mkfs failed"
-_scratch_mount || _fail "mount failed"
+_scratch_mount
 out=$SCRATCH_MNT/fillup.$$
 rm -f $seqres.full
 
diff --git a/tests/generic/019 b/tests/generic/019
index 3b24c87ca25a..17ec7dd8229b 100755
--- a/tests/generic/019
+++ b/tests/generic/019
@@ -166,7 +166,7 @@ _workout()
 
 	# In order to check that filesystem is able to recover journal on mount(2)
 	# perform mount/umount, after that all errors should be fixed
-	run_check _scratch_mount
+	_scratch_mount
 	run_check _scratch_unmount
 }
 
@@ -174,7 +174,7 @@ _workout()
 
 rm -f $seqres.full
 _scratch_mkfs >> $seqres.full 2>&1 || _fail "mkfs failed"
-_scratch_mount || _fail "mount failed"
+_scratch_mount
 allow_fail_make_request
 _workout
 status=$?
diff --git a/tests/generic/050 b/tests/generic/050
index e6e8bc1b9733..e705740b4f46 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
+_scratch_mount_nocheck 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
+_scratch_mount_nocheck 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
+_scratch_mount_nocheck 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
+_scratch_mount_nocheck -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
+_scratch_mount_nocheck -o ro 2>&1 | _filter_scratch
 
 # success, all done
 echo "*** done"
diff --git a/tests/generic/052 b/tests/generic/052
index 126f08e63311..f3c27e8b392f 100755
--- a/tests/generic/052
+++ b/tests/generic/052
@@ -56,7 +56,7 @@ _scratch_mkfs >>$seqres.full 2>&1 \
 _require_metadata_journaling $SCRATCH_DEV
 
 echo "mount"
-_scratch_mount >>$seqres.full 2>&1 \
+_scratch_mount_nocheck >>$seqres.full 2>&1 \
     || _fail "mount failed: $MOUNT_OPTIONS"
 
 echo "touch files"
@@ -79,7 +79,7 @@ if false; then
 fi
 
 echo "mount with replay"
-_scratch_mount $mnt >>$seqres.full 2>&1 \
+_scratch_mount_nocheck $mnt >>$seqres.full 2>&1 \
     || _fail "mount failed: $mnt $MOUNT_OPTIONS"
 
 echo "ls SCRATCH_MNT"
diff --git a/tests/generic/053 b/tests/generic/053
index cf46a93cf727..f3a0033777c0 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' '_scratch_mount_nocheck'
 
 # create test files and set acls
 acls="
diff --git a/tests/generic/054 b/tests/generic/054
index 12f471a19090..84b8271a11bd 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 ! _scratch_mount_nocheck >>$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 \
+	_scratch_mount_nocheck >>$seqres.full 2>&1 \
 	    || _fail "mount failed: $MOUNT_OPTIONS"
 
 	# check on what FS looks like after log recovery
diff --git a/tests/generic/055 b/tests/generic/055
index c543e7517940..c3ee6dd529ce 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 ! _scratch_mount_nocheck $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 \
+    _scratch_mount_nocheck $QUOTA_OPTION >>$seqres.full 2>&1 \
 	|| _fail "mount failed: $MOUNT_OPTIONS"
 
     # check on what FS looks like after log recovery
diff --git a/tests/generic/062 b/tests/generic/062
index 643f02c3f799..f0820eac916a 100755
--- a/tests/generic/062
+++ b/tests/generic/062
@@ -80,7 +80,7 @@ rm -f $tmp.backup1 $tmp.backup2 $seqres.full
 
 # real QA test starts here
 _scratch_mkfs > /dev/null 2>&1 || _fail "mkfs failed"
-_scratch_mount || _fail "mount failed"
+_scratch_mount
 _create_test_bed
 
 # In kernels before 3.0, getxattr() fails with EPERM for an attribute which
diff --git a/tests/generic/064 b/tests/generic/064
index 156485eef3a9..26fb630168b2 100755
--- a/tests/generic/064
+++ b/tests/generic/064
@@ -50,7 +50,7 @@ _require_xfs_io_command "fcollapse"
 rm -f $seqres.full
 
 _scratch_mkfs >> $seqres.full 2>&1 || _fail "mkfs failed"
-_scratch_mount || _fail "mount failed"
+_scratch_mount
 
 src=$SCRATCH_MNT/testfile
 dest=$SCRATCH_MNT/testfile.dest
diff --git a/tests/generic/068 b/tests/generic/068
index bd12278cdd25..91b327866c54 100755
--- a/tests/generic/068
+++ b/tests/generic/068
@@ -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 \
+_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
     || _fail "mount failed"
 
 touch $tmp.running
diff --git a/tests/generic/069 b/tests/generic/069
index 15586e9b9144..0121929ba78b 100755
--- a/tests/generic/069
+++ b/tests/generic/069
@@ -48,7 +48,7 @@ echo "*** mkfs"
 _scratch_mkfs >/dev/null 2>&1 || _fail "mkfs failed"
 
 echo "*** mount FS"
-_scratch_mount >/dev/null || _fail "mount failed"
+_scratch_mount
 
 cd $SCRATCH_MNT
 
diff --git a/tests/generic/076 b/tests/generic/076
index ac7653332cb0..9cd98af59ac5 100755
--- a/tests/generic/076
+++ b/tests/generic/076
@@ -66,7 +66,7 @@ echo "*** MKFS ***"                         >>$seqres.full
 echo ""                                     >>$seqres.full
 _scratch_mkfs                               >>$seqres.full 2>&1 \
 	|| _fail "mkfs failed"
-_scratch_mount                              >>$seqres.full 2>&1 \
+_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
 	|| _fail "mount failed"
 
 echo "*** test concurrent block/fs access"
diff --git a/tests/generic/077 b/tests/generic/077
index add16ea8f523..110864b53d98 100755
--- a/tests/generic/077
+++ b/tests/generic/077
@@ -68,7 +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 \
+_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
 	|| _fail "mount failed"
 mkdir $SCRATCH_MNT/subdir
 
diff --git a/tests/generic/079 b/tests/generic/079
index c2db6bf1f744..7669249ce8c4 100755
--- a/tests/generic/079
+++ b/tests/generic/079
@@ -53,7 +53,7 @@ _require_scratch
 
 # real QA test starts here
 _scratch_mkfs >/dev/null 2>&1 || _fail "mkfs failed"
-_scratch_mount || _fail "mount failed"
+_scratch_mount
 
 echo "*** starting up"
 $timmutable -c $SCRATCH_MNT/$seq >$tmp.out 2>&1
diff --git a/tests/generic/082 b/tests/generic/082
index a41afe6e6d20..e6d9b1c1be2c 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
+_scratch_mount_nocheck "-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"
+_scratch_mount_nocheck "-o remount,ro" || _fail "second remount,ro failed"
 
 # success, all done
 status=0
diff --git a/tests/generic/083 b/tests/generic/083
index 9f09a7b09e8b..97ece582d813 100755
--- a/tests/generic/083
+++ b/tests/generic/083
@@ -78,7 +78,7 @@ workout()
 		_scratch_mkfs_sized $fsz >>$seqres.full 2>&1 \
 			|| _fail "size=$fsz mkfs failed"
 	fi
-	_scratch_mount                              >>$seqres.full 2>&1 \
+	_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
 		|| _fail "mount failed"
 
 	# -w ensures that the only ops are ones which cause write I/O
diff --git a/tests/generic/105 b/tests/generic/105
index 8b6aa5268bc0..4b35ca60f4d3 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 \
+_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
 	|| _fail "mount failed"
 
 cd $SCRATCH_MNT
diff --git a/tests/generic/117 b/tests/generic/117
index 58165eaac7cd..66ad64f7e182 100755
--- a/tests/generic/117
+++ b/tests/generic/117
@@ -87,7 +87,7 @@ echo "*** MKFS ***"                         >>$seqres.full
 echo ""                                     >>$seqres.full
 _scratch_mkfs                               >>$seqres.full 2>&1 \
     || _fail "mkfs failed"
-_scratch_mount                              >>$seqres.full 2>&1 \
+_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
     || _fail "mount failed"
 
 mkdir -p $SCRATCH_MNT/fsstress
diff --git a/tests/generic/120 b/tests/generic/120
index 7d65f6201e86..19fffaebc63a 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 ! _scratch_mount_nocheck "-o noatime" >$tmp.out 2>&1
 then
     cat $tmp.out
     echo "!!! mount failed"
diff --git a/tests/generic/169 b/tests/generic/169
index f51f4d1981ea..5c171d3bee0d 100755
--- a/tests/generic/169
+++ b/tests/generic/169
@@ -60,7 +60,7 @@ _require_scratch
 _scratch_mkfs >>$seqres.full 2>&1 \
 	|| _fail "mkfs scratch failed"
 
-_scratch_mount >>$seqres.full 2>&1 \
+_scratch_mount_nocheck >>$seqres.full 2>&1 \
     || _fail "mount failed: $MOUNT_OPTIONS"
 
 echo "# creating new file for io"
diff --git a/tests/generic/235 b/tests/generic/235
index f991b1b73ea0..e2bbe505556a 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
+_scratch_mount_nocheck "-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
+_scratch_mount_nocheck "-o remount,rw" 2>&1 | tee -a $seqres.full | _filter_scratch
 
 $XFS_IO_PROG -c 'pwrite 0 8k' -c 'fsync' \
 			$SCRATCH_MNT/testfile >>$seqres.full 2>&1
diff --git a/tests/generic/270 b/tests/generic/270
index 318f532ae9c0..f5026ba0cd30 100755
--- a/tests/generic/270
+++ b/tests/generic/270
@@ -83,7 +83,7 @@ _require_command "$KILLALL_PROG" killall
 
 rm -f $seqres.full
 _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota" || _fail "mount failed"
+_scratch_mount "-o usrquota,grpquota"
 chmod 777 $SCRATCH_MNT
 quotacheck -u -g $SCRATCH_MNT 2>/dev/null
 quotaon -u -g $SCRATCH_MNT 2>/dev/null
diff --git a/tests/generic/294 b/tests/generic/294
index fb5d9aa80524..e6508d89435a 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"
+_scratch_mount_nocheck -o remount,ro || _fail "Could not remount scratch readonly"
 _create_files 2>&1 | _filter_scratch
 
 # success, all done
diff --git a/tests/generic/317 b/tests/generic/317
index 7e40b1fd7612..e62b72cba056 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_nocheck      >>$seqres.full 2>&1 || _fail "mount failed"
 chmod 777 $SCRATCH_MNT
 
 # create $file as "root" in userns, which is $qa_user in parent namespace
diff --git a/tests/generic/318 b/tests/generic/318
index e284317bd5cd..e362dfda1bef 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_nocheck      >>$seqres.full 2>&1 || _fail "mount failed"
 
 touch $file
 chown $acl1.$acl1 $file
diff --git a/tests/generic/388 b/tests/generic/388
index e0f482182299..863f0d899b62 100755
--- a/tests/generic/388
+++ b/tests/generic/388
@@ -64,7 +64,7 @@ echo "Silence is golden."
 
 _scratch_mkfs >> $seqres.full 2>&1
 _require_metadata_journaling $SCRATCH_DEV
-_scratch_mount || _fail "mount failed"
+_scratch_mount
 
 for i in $(seq 1 $((50 * TIME_FACTOR)) ); do
 	($FSSTRESS_PROG $FSSTRESS_AVOID -d $SCRATCH_MNT -n 999999 -p 4 >> $seqres.full &) \
diff --git a/tests/generic/390 b/tests/generic/390
index 473015a2ad30..e6f676f39d86 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_nocheck >>$seqres.full 2>&1 || _fail "mount failed"
 
 num_cpus=`$here/src/feature -o`
 
diff --git a/tests/generic/403 b/tests/generic/403
index 31c481b4e23e..d6706d3dd640 100755
--- a/tests/generic/403
+++ b/tests/generic/403
@@ -54,7 +54,7 @@ _require_scratch
 _require_attrs
 
 _scratch_mkfs > $seqres.full 2>&1 || _fail "mkfs"
-_scratch_mount || _fail "mount"
+_scratch_mount
 
 # create xattr small enough for local format on XFS
 touch $SCRATCH_MNT/file
diff --git a/tests/generic/466 b/tests/generic/466
index 07f24a746151..d25d2cc0eded 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 ||
+	   ! _scratch_mount_nocheck >> $seqres.full 2>&1 ||
 	   test "$(stat -f -c '%S' $SCRATCH_MNT)" -ne "$blocksize"; then
 		echo "+++ Format and mount failed" >> $seqres.full
 		continue
diff --git a/tests/shared/003 b/tests/shared/003
index 8e02e8215848..e47e7cbd4166 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
+_scratch_mount_nocheck "-o noload" >>$seqres.full 2>&1
 
 # success, all done
 status=0
diff --git a/tests/xfs/005 b/tests/xfs/005
index ebf4b15ec9b5..04cc12d18973 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
+_scratch_mount_nocheck 2>&1 | _filter_error_mount
 
 # success, all done
 status=0
diff --git a/tests/xfs/009 b/tests/xfs/009
index 1a5bd4d346fd..925a3c49c748 100755
--- a/tests/xfs/009
+++ b/tests/xfs/009
@@ -58,7 +58,7 @@ _init()
     fi
 
     echo "*** mount"
-    if ! _scratch_mount
+    if ! _scratch_mount_nocheck
     then
         echo "failed to mount $SCRATCH_DEV"
         exit 1
diff --git a/tests/xfs/016 b/tests/xfs/016
index 0163716047d5..1457bf94d78d 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 ! _scratch_mount_nocheck
     then
         echo "failed to mount $SCRATCH_DEV"
         exit 1
diff --git a/tests/xfs/017 b/tests/xfs/017
index b576cd154038..09d9eac3d8d9 100755
--- a/tests/xfs/017
+++ b/tests/xfs/017
@@ -59,7 +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 \
+_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
     || _fail "mount failed"
 
 echo "*** test"
@@ -70,7 +70,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 \
+        _scratch_mount_nocheck -o remount,ro \
             || _fail "remount ro failed"
 
         echo ""                                 >>$seqres.full
@@ -84,7 +84,7 @@ do
         echo ""                             >>$seqres.full
         _scratch_xfs_check                  >>$seqres.full 2>&1 \
             || _fail "xfs_check failed"
-        _scratch_mount -o remount,rw \
+        _scratch_mount_nocheck -o remount,rw \
             || _fail "remount rw failed"
 done
 
diff --git a/tests/xfs/019 b/tests/xfs/019
index 3e4f1692ff89..588e26286334 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 \
+	_scratch_mount_nocheck >>$seqfull 2>&1 \
 		|| _fail "mount failed"
 
 	echo "*** verify FS"
diff --git a/tests/xfs/021 b/tests/xfs/021
index 0471b9539af7..f8f4e1565905 100755
--- a/tests/xfs/021
+++ b/tests/xfs/021
@@ -87,8 +87,7 @@ _scratch_mkfs_xfs >/dev/null \
 	|| _fail "mkfs failed"
 
 echo "*** mount FS"
-_scratch_mount >/dev/null \
-	|| _fail "mount failed"
+_scratch_mount
 
 testfile=$SCRATCH_MNT/testfile
 echo "*** make test file 1"
diff --git a/tests/xfs/034 b/tests/xfs/034
index 2bf319bf6882..760530c4e0b3 100755
--- a/tests/xfs/034
+++ b/tests/xfs/034
@@ -57,7 +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 \
+_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
     || _fail "mount failed"
 
 echo "*** test"
diff --git a/tests/xfs/041 b/tests/xfs/041
index 1b9500f723bb..f9b2be85891a 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 "_scratch_mount_nocheck"
     echo "done"
     echo -n "Check files... "
     if ! _do "src/fill2fs_check $tmp.manifest"; then
diff --git a/tests/xfs/042 b/tests/xfs/042
index 182cebc313e3..f5be00723a49 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 "_scratch_mount_nocheck"
 echo -n "Use up any further available space... "
 _do "$XFS_IO_PROG -f -c \"falloc 0 1m\" $SCRATCH_MNT/pad"
 echo "done"
diff --git a/tests/xfs/044 b/tests/xfs/044
index fc5dae024e07..4ef3ebfea1dc 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 ! _scratch_mount_nocheck
     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 _scratch_mount_nocheck >$tmp.err 2>&1
     then
         cat $tmp.err
         echo "        !!! mount succeeded (expecting failure)"
diff --git a/tests/xfs/045 b/tests/xfs/045
index 2733f5c1c22b..180269bde96f 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 _scratch_mount_nocheck -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 _scratch_mount_nocheck >$tmp.out 2>&1
 then
     cat $tmp.out
     echo "!!! mount succeeded (expecting failure)"
diff --git a/tests/xfs/057 b/tests/xfs/057
index 74a253e0ef19..228f52bb010f 100755
--- a/tests/xfs/057
+++ b/tests/xfs/057
@@ -77,7 +77,7 @@ sdev=$(_short_dev $SCRATCH_DEV)
 # use a small log fs
 _scratch_mkfs_sized $((1024 * 1024 * 500)) >> $seqres.full 2>&1 ||
 		_fail "mkfs failed"
-_scratch_mount || _fail "mount failed"
+_scratch_mount
 
 # populate the fs with some data and cycle the mount to reset the log head/tail
 $FSSTRESS_PROG -d $SCRATCH_MNT -z -fcreat=1 -p 4 -n 100000 > /dev/null 2>&1
diff --git a/tests/xfs/067 b/tests/xfs/067
index c68ec0940064..743d94bb3e8a 100755
--- a/tests/xfs/067
+++ b/tests/xfs/067
@@ -52,7 +52,7 @@ if [ "$isize" -lt 1024 ]; then
     _scratch_mkfs_xfs -i size=1024 >>$seqres.full \
 	|| _notrun "Cannot mkfs for this test using MKFS_OPTIONS specified"
 fi
-_scratch_mount >>$seqres.full || _fail "mount failed"
+_scratch_mount
 xfs_info $SCRATCH_MNT >>$seqres.full
 cd $SCRATCH_MNT
 
diff --git a/tests/xfs/072 b/tests/xfs/072
index 5393cf8b047b..074c786970d5 100755
--- a/tests/xfs/072
+++ b/tests/xfs/072
@@ -54,7 +54,7 @@ rm -f $seqres.full
 _scratch_unmount >/dev/null 2>&1
 
 _scratch_mkfs_xfs >/dev/null	|| _fail "mkfs failed"
-_scratch_mount >/dev/null	|| _fail "mount failed"
+_scratch_mount
 
 # check there's enough freespace on $SCRATCH_MNT ... (1GiB + 1MiB)
 avail=`df -P $SCRATCH_MNT | awk 'END {print $4}'`
diff --git a/tests/xfs/073 b/tests/xfs/073
index 7228dd92d6ae..13b6605cc4b7 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_nocheck 2>/dev/null || _fail "initial scratch mount failed"
 
 echo
 echo === populating scratch device
diff --git a/tests/xfs/075 b/tests/xfs/075
index ccf29ea19db3..a36f88e99a50 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 \
+_scratch_mount_nocheck "-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 \
+_scratch_mount_nocheck "-o remount,rw" >>$seqres.full 2>&1 \
 	&& _fail "Second rw remount succeeded"
 
 # success, all done
diff --git a/tests/xfs/077 b/tests/xfs/077
index 6d5ac1a36bd7..5df999eda6eb 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"
+	_scratch_mount_nocheck || _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"
+_scratch_mount_nocheck || _fail "Mount failed after UUID rewrite"
 _scratch_unmount
 
 rm -f $IMGFILE
diff --git a/tests/xfs/079 b/tests/xfs/079
index 8ac9d58db38c..579a875c3b07 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"
+_scratch_mount_nocheck "-o logbsize=64k"
 
 # The mount may not fail on v4 filesystems. Check for CRC mismatch warning
 # messages to detect failure in this case.
diff --git a/tests/xfs/083 b/tests/xfs/083
index e2b5f823845d..68ee916d32c6 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
+		_scratch_mount_nocheck >> "${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
+_scratch_mount_nocheck >> $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
+_scratch_mount_nocheck >> $ROUND2_LOG 2>&1
 
 echo "++ chattr -R -i" >> $ROUND2_LOG
 $CHATTR_PROG -R -f -i "${SCRATCH_MNT}/" > /dev/null 2>> $ROUND2_LOG
diff --git a/tests/xfs/085 b/tests/xfs/085
index 0c85850d2a62..dbfb3e8b4fe7 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"
+_scratch_mount_nocheck 2>/dev/null && _fail "mount should not succeed"
 
 echo "+ repair fs"
 _scratch_xfs_repair >> $seqres.full 2>&1
diff --git a/tests/xfs/090 b/tests/xfs/090
index 92b9e3d83d96..b1403ee284c0 100755
--- a/tests/xfs/090
+++ b/tests/xfs/090
@@ -57,7 +57,7 @@ _create_scratch()
 	fi
 
 	echo "*** mount"
-	if ! _scratch_mount
+	if ! _scratch_mount_nocheck
 	then
 		echo "failed to mount $SCRATCH_DEV"
 		exit 1
diff --git a/tests/xfs/092 b/tests/xfs/092
index 5a6931957a85..32f48d3e1e1d 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
+_scratch_mount_nocheck
 [ $? -eq 0 ] || echo "inode64 mount failed unexpectedly!"
 
 # success, all done
diff --git a/tests/xfs/094 b/tests/xfs/094
index d3606f813815..3cfcc47f1363 100755
--- a/tests/xfs/094
+++ b/tests/xfs/094
@@ -78,7 +78,7 @@ _create_scratch()
 	fi
 
 	echo "*** mount"
-	if ! _scratch_mount
+	if ! _scratch_mount_nocheck
 	then
 		echo "failed to mount $SCRATCH_DEV"
 		exit 1
diff --git a/tests/xfs/098 b/tests/xfs/098
index 24ce1d5d44ed..3b73f3199981 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"
+_scratch_mount_nocheck 2>/dev/null && _fail "mount should not succeed"
 
 echo "+ repair fs"
 _repair_scratch_fs >> $seqres.full 2>&1
diff --git a/tests/xfs/103 b/tests/xfs/103
index 024416bd47b6..b4433afbf627 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 ! _scratch_mount_nocheck 2>/dev/null
 	then
 		echo "failed to mount $SCRATCH_DEV"
 		exit 1
diff --git a/tests/xfs/104 b/tests/xfs/104
index c3b59775fdad..330f70e639a8 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 ! _scratch_mount_nocheck 2>/dev/null
 	then
 		echo "failed to mount $SCRATCH_DEV"
 		exit 1
diff --git a/tests/xfs/111 b/tests/xfs/111
index d5a09bbd32d6..8c7833c1e9ea 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"
+_scratch_mount_nocheck || _fail "Couldn't mount after itrash"
 
 echo Attempting bulkstat
 #src/bstat -q $SCRATCH_MNT
diff --git a/tests/xfs/121 b/tests/xfs/121
index 2f84a3c8b447..6f8af11e2dd5 100755
--- a/tests/xfs/121
+++ b/tests/xfs/121
@@ -54,7 +54,7 @@ _scratch_mkfs_xfs >>$seqres.full 2>&1 \
     || _fail "mkfs scratch failed"
 
 echo "mount"
-_scratch_mount >>$seqres.full 2>&1 \
+_scratch_mount_nocheck >>$seqres.full 2>&1 \
     || _fail "mount failed: $MOUNT_OPTIONS"
 
 # num_files must be greater than 64 (XFS_AGI_UNLINKED_BUCKETS)
@@ -82,7 +82,7 @@ echo "logprint after going down..."
 _print_logstate
 
 echo "mount with replay"
-_scratch_mount $mnt >>$seqres.full 2>&1 \
+_scratch_mount_nocheck $mnt >>$seqres.full 2>&1 \
     || _fail "mount failed: $mnt $MOUNT_OPTIONS"
 
 echo "godown"
@@ -103,7 +103,7 @@ else
 fi
 
 # clean up dirty log with log recovery on mount
-_scratch_mount >> $seqres.full 2>&1 \
+_scratch_mount_nocheck >> $seqres.full 2>&1 \
     || _fail "mount failed"
 
 # success, all done
diff --git a/tests/xfs/130 b/tests/xfs/130
index 1c3d642430fc..82aaeec0ca49 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 && \
+_scratch_mount_nocheck >> $seqres.full 2>&1 && \
 	echo "Should not be able to mount with broken refcountbt."
 _scratch_unmount >> $seqres.full 2>&1
 
diff --git a/tests/xfs/137 b/tests/xfs/137
index 093ef009b7da..8ad65cc450ea 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
+_scratch_mount_nocheck >> $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
+	_scratch_mount_nocheck >> $seqres.full 2>&1 || echo mount failure detected
 fi
 
 # verify that repair detects invalid LSNs as well
diff --git a/tests/xfs/141 b/tests/xfs/141
index f61e52428a51..80b5cb04ba80 100755
--- a/tests/xfs/141
+++ b/tests/xfs/141
@@ -79,7 +79,7 @@ for i in $(seq 1 5); do
 	# Verify that we can remount the fs. Log recovery should handle the torn
 	# write.
 	_scratch_unmount
-	_scratch_mount || _fail "failed to mount"
+	_scratch_mount
 done
 
 # success, all done
diff --git a/tests/xfs/177 b/tests/xfs/177
index 3957b49a8991..2aa4c7993039 100755
--- a/tests/xfs/177
+++ b/tests/xfs/177
@@ -59,8 +59,7 @@ _scratch_unmount > /dev/null 2>&1
 _scratch_mkfs_xfs >/dev/null 2>&1 \
         || _fail "mkfs failed"
 
-_scratch_mount \
-        || _fail "mount failed"
+_scratch_mount
 
 # run Mark Goodwin test here
 # Usage: ./bulkstat_unlink_test iterations nfiles stride dir
@@ -73,8 +72,7 @@ $here/src/bulkstat_unlink_test 20 1000 3 $SCRATCH_MNT/bulkstat
 
 # Mount scratch with ikeep enabled
 _scratch_unmount
-_scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT" \
-        || _fail "mount failed"
+_scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT"
 
 echo "Start bulkstat_unlink_test_modified"
 $here/src/bulkstat_unlink_test_modified 10 1000 1 $SCRATCH_MNT/bulkstat
diff --git a/tests/xfs/181 b/tests/xfs/181
index 07d7517174fd..efbd9ed8b88e 100755
--- a/tests/xfs/181
+++ b/tests/xfs/181
@@ -61,7 +61,7 @@ _scratch_mkfs_xfs >>$seqres.full 2>&1 \
     || _fail "mkfs scratch failed"
 
 echo "mount"
-_scratch_mount >>$seqres.full 2>&1 \
+_scratch_mount_nocheck >>$seqres.full 2>&1 \
     || _fail "mount failed: $MOUNT_OPTIONS"
 
 # num_files must be greater than 64 (XFS_AGI_UNLINKED_BUCKETS)
diff --git a/tests/xfs/183 b/tests/xfs/183
index 764c1d5c6f27..390cfc8e444a 100755
--- a/tests/xfs/183
+++ b/tests/xfs/183
@@ -53,8 +53,7 @@ _require_scratch
 _scratch_mkfs_xfs >/dev/null 2>&1 \
         || _fail "mkfs failed"
 
-_scratch_mount \
-        || _fail "mount failed"
+_scratch_mount
 
 # run Mark Goodwin test here
 # Usage: ./bulkstat_unlink_test iterations nfiles stride dir
diff --git a/tests/xfs/189 b/tests/xfs/189
index 699eb3c1f941..c5c3c534d24d 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
+	_scratch_mount_nocheck -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
+	_scratch_mount_nocheck -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
+	_scratch_mount_nocheck
 	[ $? -eq 0 ] || echo "mount (1) failed unexpectedly"
 
 	touch $SCRATCH_MNT/foobar
@@ -157,7 +157,7 @@ _test_remount_write()
 
 	_scratch_unmount
 
-	_scratch_mount -o ro
+	_scratch_mount_nocheck -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
+	_scratch_mount_nocheck -o barrier
 	[ $? -eq 0 ] || echo "mount failed unexpectedly!"
 	_check_mount rw
 
-	_scratch_mount -o remount,nobarrier
+	_scratch_mount_nocheck -o remount,nobarrier
 	[ $? -eq 0 ] || _fail "remount nobarrier failed"
 	_check_mount rw nobarrier
 
-	_scratch_mount -o remount,barrier
+	_scratch_mount_nocheck -o remount,barrier
 	[ $? -eq 0 ] || _fail "remount barrier failed"
 	_check_mount rw
 
diff --git a/tests/xfs/263 b/tests/xfs/263
index 7aebf90b820e..2bb17240a2d2 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
+		_scratch_mount_nocheck &>> $seqres.full || continue
 		$XFS_QUOTA_PROG -x -c "state" $SCRATCH_MNT | filter_quota_state
 		_scratch_unmount
 	done
diff --git a/tests/xfs/270 b/tests/xfs/270
index 18e6c3861195..24cedea6ade9 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
+_scratch_mount_nocheck 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
+_scratch_mount_nocheck -o ro
 if [ $? -ne 0 ]; then
 	_fail "ro mount test failed"
 else
diff --git a/tests/xfs/297 b/tests/xfs/297
index 708a7f864837..3ce32498c459 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_nocheck >>$seqres.full 2>&1 || _fail "mount failed"
 
 STRESS_DIR="$SCRATCH_MNT/testdir"
 mkdir -p $STRESS_DIR
diff --git a/tests/xfs/333 b/tests/xfs/333
index 2f394feda6c9..3943706ad13a 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
+_scratch_mount_nocheck 2>&1 | _filter_error_mount
 
 echo "Test done, mount should have failed"
 
diff --git a/tests/xfs/338 b/tests/xfs/338
index 755510c88cb9..f8407d0f284a 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"
+_scratch_mount_nocheck >> $seqres.full 2>&1 && echo "mount should have failed"
 
 echo "Repair fs"
 _scratch_unmount 2>&1 | _filter_scratch
diff --git a/tests/xfs/340 b/tests/xfs/340
index 7b1b7d13b1a2..4de0b37e2084 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"
+_scratch_mount_nocheck >> $seqres.full 2>&1 && echo "mount should have failed"
 
 echo "Repair fs"
 _scratch_unmount 2>&1 | _filter_scratch
diff --git a/tests/xfs/433 b/tests/xfs/433
index 275116851722..be1ccfcfe775 100755
--- a/tests/xfs/433
+++ b/tests/xfs/433
@@ -65,7 +65,7 @@ _require_scratch
 _require_attrs
 
 _scratch_mkfs > $seqres.full 2>&1
-_scratch_mount || _fail "mount failure"
+_scratch_mount
 
 file=$SCRATCH_MNT/testfile
 
diff --git a/tests/xfs/434 b/tests/xfs/434
index 908f25435772..d7172a3e8650 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
+_scratch_mount_nocheck -o quota >> $seqres.full 2>&1
 _scratch_unmount 2> /dev/null
 rm -f ${RESULT_DIR}/require_scratch
 
diff --git a/tests/xfs/435 b/tests/xfs/435
index 6ab8a614292f..8f6d24486bf1 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
+_scratch_mount_nocheck -o quota >> $seqres.full 2>&1
 _scratch_unmount 2> /dev/null
 rm -f ${RESULT_DIR}/require_scratch
 
diff --git a/tests/xfs/436 b/tests/xfs/436
index ec19106ce12c..33f078de357c 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
+_scratch_mount_nocheck -o noquota >> $seqres.full 2>&1
 _scratch_unmount 2> /dev/null
 rm -f ${RESULT_DIR}/require_scratch
 
diff --git a/tests/xfs/439 b/tests/xfs/439
index 7be700cddff4..7cd33482a6cc 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 _scratch_mount_nocheck >> $seqres.full 2>&1; then
 	for i in $(seq 1 1000); do
 		echo > ${SCRATCH_MNT}/$i
 	done
-- 
2.14.3


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests
  2018-02-13  9:12 ` [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests Eryu Guan
@ 2018-02-13  9:58   ` Amir Goldstein
  2018-02-13 10:09     ` Eryu Guan
  2018-02-13 23:31   ` Darrick J. Wong
  1 sibling, 1 reply; 11+ messages in thread
From: Amir Goldstein @ 2018-02-13  9:58 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, Andreas Gruenbacher, Darrick J . Wong

On Tue, Feb 13, 2018 at 11:12 AM, Eryu Guan <eguan@redhat.com> wrote:
> Also remove redundant status checks of _scratch_mount.

Is there any correlation between tests that need to use _scratch_mount_nocheck
tests which _require_scratch_nocheck that could make some of these annotations
automatic?

Amir.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests
  2018-02-13  9:58   ` Amir Goldstein
@ 2018-02-13 10:09     ` Eryu Guan
  2018-02-13 10:37       ` Andreas Gruenbacher
  0 siblings, 1 reply; 11+ messages in thread
From: Eryu Guan @ 2018-02-13 10:09 UTC (permalink / raw)
  To: Amir Goldstein; +Cc: fstests, Andreas Gruenbacher, Darrick J . Wong

On Tue, Feb 13, 2018 at 11:58:48AM +0200, Amir Goldstein wrote:
> On Tue, Feb 13, 2018 at 11:12 AM, Eryu Guan <eguan@redhat.com> wrote:
> > Also remove redundant status checks of _scratch_mount.
> 
> Is there any correlation between tests that need to use _scratch_mount_nocheck
> tests which _require_scratch_nocheck that could make some of these annotations
> automatic?

No, they have totally different meanings. _require_scratch_nocheck means
don't do filesystem check after test, and _scratch_mount_nocheck means
don't check mount status.

Perhaps it's just badly named, I can follow Andreas's suggestion to name
it as _try_scratch_mount or similar names.

Thanks,
Eryu

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests
  2018-02-13 10:09     ` Eryu Guan
@ 2018-02-13 10:37       ` Andreas Gruenbacher
  0 siblings, 0 replies; 11+ messages in thread
From: Andreas Gruenbacher @ 2018-02-13 10:37 UTC (permalink / raw)
  To: Eryu Guan; +Cc: Amir Goldstein, fstests, Darrick J . Wong

On 13 February 2018 at 11:09, Eryu Guan <eguan@redhat.com> wrote:
> On Tue, Feb 13, 2018 at 11:58:48AM +0200, Amir Goldstein wrote:
>> On Tue, Feb 13, 2018 at 11:12 AM, Eryu Guan <eguan@redhat.com> wrote:
>> > Also remove redundant status checks of _scratch_mount.
>>
>> Is there any correlation between tests that need to use _scratch_mount_nocheck
>> tests which _require_scratch_nocheck that could make some of these annotations
>> automatic?
>
> No, they have totally different meanings. _require_scratch_nocheck means
> don't do filesystem check after test, and _scratch_mount_nocheck means
> don't check mount status.
>
> Perhaps it's just badly named, I can follow Andreas's suggestion to name
> it as _try_scratch_mount or similar names.

To me, "nocheck" tends to indicate that the result isn't checked
because it doesn't matter, so _try_scratch_mount seems much better.

Thanks,
Andreas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] fstests: introduce _scratch_mount_nocheck
  2018-02-13  9:12 ` [PATCH 1/2] fstests: introduce _scratch_mount_nocheck Eryu Guan
@ 2018-02-13 14:11   ` Andreas Gruenbacher
  2018-02-14  3:30     ` Eryu Guan
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Gruenbacher @ 2018-02-13 14:11 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, Darrick J . Wong

On 13 February 2018 at 10:12, Eryu Guan <eguan@redhat.com> wrote:
> _fail test by default if _scratch_mount failed and introduce
> _scratch_mount_nocheck for tests that need to check mount results
> themselves.
>
> Signed-off-by: Eryu Guan <eguan@redhat.com>
> ---
>  common/attr        |  2 +-
>  common/dmapi       |  4 ++--
>  common/dump        |  4 ++--
>  common/encrypt     |  2 +-
>  common/filestreams |  4 ++--
>  common/fuzzy       |  4 ++--
>  common/log         |  6 +++---
>  common/overlay     |  2 +-
>  common/punch       |  2 +-
>  common/quota       |  4 ++--
>  common/rc          | 38 ++++++++++++++++++++++----------------
>  common/xfs         | 12 ++++++------
>  12 files changed, 45 insertions(+), 39 deletions(-)
>
> diff --git a/common/attr b/common/attr
> index 66b0227f721e..e83aadb803f7 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 \
> +       _scratch_mount_nocheck -o noattr2 > /dev/null 2>&1 \
>                 || _notrun "noattr2 mount option not supported on $SCRATCH_DEV"
>         _scratch_unmount
>  }
> diff --git a/common/dmapi b/common/dmapi
> index c8a463a2cac0..af0faf504a3d 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
> +        _scratch_mount_nocheck
>          dmapi_mount_result=$?
>      else
> -        _scratch_mount "-o dmapi,mtpt=$SCRATCH_MNT"
> +        _scratch_mount_nocheck "-o dmapi,mtpt=$SCRATCH_MNT"
>          dmapi_mount_result=$?
>      fi
>
> diff --git a/common/dump b/common/dump
> index 2b3cfa0f0607..7b9c10a25414 100644
> --- a/common/dump
> +++ b/common/dump
> @@ -235,7 +235,7 @@ _wipe_fs()
>      _require_scratch
>
>      _scratch_mkfs_xfs >>$seqres.full || _fail "mkfs failed"
> -    _scratch_mount >>$seqres.full || _fail "mount failed"
> +    _scratch_mount >>$seqres.full
>  }
>
>  #
> @@ -287,7 +287,7 @@ _stable_fs()
>  {
>      _saveddir=`pwd`; cd /
>      _scratch_unmount >>$seqres.full || _fail "unmount failed"
> -    _scratch_mount >>$seqres.full || _fail "mount failed"
> +    _scratch_mount >>$seqres.full
>      cd $_saveddir
>  }
>
> diff --git a/common/encrypt b/common/encrypt
> index 189c59ee9bbd..4c5fce75fe62 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 ! _scratch_mount_nocheck &>>$seqres.full; then
>                 _notrun "kernel is unaware of $FSTYP encryption feature," \
>                         "or mkfs options are not compatible with encryption"
>         fi
> diff --git a/common/filestreams b/common/filestreams
> index f5441f5a82e9..a06020c8b3fb 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" \
> +               _scratch_mount_nocheck "-o filestreams" \
>                         || _fail "filestreams mount failed"
>         else
>                 # test will set inode flag
> -               _scratch_mount || _fail "mount failed"
> +               _scratch_mount
>         fi
>
>         cd $SCRATCH_MNT
> diff --git a/common/fuzzy b/common/fuzzy
> index b964fd8cb0fc..f5bd3f594666 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
> +       _scratch_mount_nocheck 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
> +       _scratch_mount_nocheck 2>&1
>         res=$?
>         if [ $res -eq 0 ]; then
>                 # Try an online scrub unless we're fuzzing ag 0's sb,
> diff --git a/common/log b/common/log
> index bdb4ed684a08..2157b2848a69 100644
> --- a/common/log
> +++ b/common/log
> @@ -370,7 +370,7 @@ _create_log()
>  {
>      # mount the FS
>      _full "mount"
> -    _scratch_mount >>$seqres.full 2>&1
> +    _scratch_mount_nocheck >>$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
> +    _scratch_mount_nocheck >>$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 ! _scratch_mount_nocheck >>$seqres.full 2>&1; then
>          _notrun "mount/kernel does not support v2 logs"
>      fi
>
> diff --git a/common/overlay b/common/overlay
> index a8b0e9369c86..054b759e1ce4 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 || \
> +       _scratch_mount_nocheck -o $opts || \
>                 _notrun "overlay options '$opts' cannot be enabled on ${SCRATCH_DEV}"
>
>         for feature in ${features[*]}; do
> diff --git a/common/punch b/common/punch
> index c4ed26192a22..42a7e97496b7 100644
> --- a/common/punch
> +++ b/common/punch
> @@ -131,7 +131,7 @@ _test_punch() {
>                 _dmapi_scratch_mount
>         else
>                 # only unresvsp punch type is used, just do a normal mount
> -               _scratch_mount || _fail "mount failed"
> +               _scratch_mount
>         fi
>
>         cd $SCRATCH_MNT
> diff --git a/common/quota b/common/quota
> index 2611c484ee35..c1f1436458c2 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 \
> +       _scratch_mount_nocheck >/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"
> +    _scratch_mount_nocheck || _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 b9dc0b9206db..ddfcbec65135 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -352,13 +352,18 @@ _supports_filetype()
>         esac
>  }
>
> +_scratch_mount_nocheck()
> +{
> +       if [ "$FSTYP" == "overlay" ]; then
> +               _overlay_scratch_mount $*
> +               return $?
> +       fi
> +       _mount -t $FSTYP `_scratch_mount_options $*`
> +}
> +
>  _scratch_mount()
>  {
> -    if [ "$FSTYP" == "overlay" ]; then
> -        _overlay_scratch_mount $*
> -        return $?
> -    fi
> -    _mount -t $FSTYP `_scratch_mount_options $*`
> +       _scratch_mount_nocheck $* || _fail "_scratch_mount failed"

I'd change that to "mount failed"; the name of the helper function
isn't very interesting.

>  }
>
>  _scratch_unmount()
> @@ -397,7 +402,7 @@ _scratch_cycle_mount()
>         opts="-o $opts"
>      fi
>      _scratch_unmount
> -    _scratch_mount "$opts"
> +    _scratch_mount_nocheck "$opts" || _fail "_scratch_cycle_mount failed"

Same here, change to "cycle mount failed" or similar.

>  }
>
>  _scratch_shutdown()
> @@ -524,7 +529,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
> +       _scratch_mount_nocheck 2>&1 >$tmp_dir/mnt.err
>         local status=$?
>         if [ $status -ne 0 ]; then
>                 echo "mount failed"
> @@ -1103,7 +1108,7 @@ _repair_scratch_fs()
>         res=$?
>         if [ "$res" -ne 0 ]; then
>                 echo "xfs_repair returns $res; replay log?"
> -               _scratch_mount
> +               _scratch_mount_nocheck
>                 res=$?
>                 if [ "$res" -gt 0 ]; then
>                         echo "mount returns $res; zap log?"
> @@ -1872,7 +1877,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 \
> +       _scratch_mount_nocheck >/dev/null 2>&1 \
>            || _notrun "Kernel doesn't support metadata_csum feature"
>         _scratch_unmount
>  }
> @@ -1888,7 +1893,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 \
> +    _scratch_mount_nocheck >/dev/null 2>&1 \
>         || _notrun "Kernel doesn't support the ext4 feature(s): $1"
>      _scratch_unmount
>  }
> @@ -2322,7 +2327,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 \
> +       _scratch_mount_nocheck >/dev/null 2>&1 \
>                 || _notrun "kernel doesn't support richacl feature on $FSTYP"
>         _scratch_unmount
>  }
> @@ -2331,7 +2336,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 \
> +       _scratch_mount_nocheck >/dev/null 2>&1 \
>                 || _notrun "kernel doesn't support richacl feature on $FSTYP"
>         _scratch_unmount
>  }
> @@ -2993,7 +2998,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 +3024,8 @@ _require_scratch_dax()
>  {
>         _require_scratch
>         _scratch_mkfs > /dev/null 2>&1
> -       _scratch_mount -o dax
> +       _scratch_mount_nocheck -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 +3036,7 @@ _require_scratch_dax()
>  # Does norecovery support by this fs?
>  _require_norecovery()
>  {
> -       _scratch_mount -o ro,norecovery || \
> +       _scratch_mount_nocheck -o ro,norecovery || \
>                 _notrun "$FSTYP does not support norecovery"
>         _scratch_unmount
>  }
> @@ -3229,7 +3235,7 @@ _require_atime()
>  _require_relatime()
>  {
>          _scratch_mkfs > /dev/null 2>&1
> -        _scratch_mount -o relatime || \
> +        _scratch_mount_nocheck -o relatime || \
>                  _notrun "relatime not supported by the current kernel"
>         _scratch_unmount
>  }
> diff --git a/common/xfs b/common/xfs
> index 9b20b0380782..c6d8f0938ac9 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
> +       _scratch_mount_nocheck 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 \
> +       _scratch_mount_nocheck >/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 \
> +       _scratch_mount_nocheck >/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 \
> +       _scratch_mount_nocheck >/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 \
> +       _scratch_mount_nocheck >/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 \
> +       _scratch_mount_nocheck >/dev/null 2>&1 \
>            || _notrun "Kernel doesn't support meta_uuid feature"
>         _scratch_unmount
>  }
> --
> 2.14.3

Thanks,
Andreas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC PATCH 0/2] _fail test by default if _scratch_mount fails
  2018-02-13  9:12 [RFC PATCH 0/2] _fail test by default if _scratch_mount fails Eryu Guan
  2018-02-13  9:12 ` [PATCH 1/2] fstests: introduce _scratch_mount_nocheck Eryu Guan
  2018-02-13  9:12 ` [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests Eryu Guan
@ 2018-02-13 14:15 ` Andreas Gruenbacher
  2 siblings, 0 replies; 11+ messages in thread
From: Andreas Gruenbacher @ 2018-02-13 14:15 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, Darrick J . Wong

 On 13 February 2018 at 10:12, Eryu Guan <eguan@redhat.com> wrote:
> Hi all,
>
> This is an RFC patchset that follows Andreas Gruenbacher's recent post
> "Failing scratch mounts"[1]. It changes _scratch_mount to call _fail on
> mount failure by default, so that when the mount fails, the tests won't
> write to the underlying filesystem and fail in implicit way, which
> sometimes makes debugging harder to do.
>
> Also introduce a new _scratch_mount_nocheck helper, which mount scratch
> device and doesn't check the mount status, for tests that need to check
> mount status themselves.
>
> This two-patch patchset should really be one patch, but for easy review,
> I split the patch into two pieces, the first patch introduce the new
> _scratch_mount_nocheck helper and converts _scratch_mount usages in
> common dir, the second patch converts all the tests (which can be
> tedious).
>
> I've tested it by running full '-g auto' tests against xfs/xfs with
> reflink/ext4/btrfs and I didn't see any new failures.
>
> (Note that I based this patchset against fstests release on Feb. 4th, so
> I didn't convert the new tests release on Feb. 11th. And as this is an
> RFC, I didn't write detailed commit log in each patch.)

These patches do fix the scratch mount problems I've been seeing on gfs2.

Thanks,
Andreas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests
  2018-02-13  9:12 ` [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests Eryu Guan
  2018-02-13  9:58   ` Amir Goldstein
@ 2018-02-13 23:31   ` Darrick J. Wong
  2018-02-14  3:21     ` Eryu Guan
  1 sibling, 1 reply; 11+ messages in thread
From: Darrick J. Wong @ 2018-02-13 23:31 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, Andreas Gruenbacher

On Tue, Feb 13, 2018 at 05:12:03PM +0800, Eryu Guan wrote:
> Also remove redundant status checks of _scratch_mount.
> 
> Signed-off-by: Eryu Guan <eguan@redhat.com>
> ---

<skipping to the generic and xfs tests>

> diff --git a/tests/generic/054 b/tests/generic/054
> index 12f471a19090..84b8271a11bd 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 ! _scratch_mount_nocheck >>$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 \
> +	_scratch_mount_nocheck >>$seqres.full 2>&1 \
>  	    || _fail "mount failed: $MOUNT_OPTIONS"

nocheck || fail ??

I wonder if the fail message should always spit out the mount options
that were tried?

> diff --git a/tests/generic/068 b/tests/generic/068
> index bd12278cdd25..91b327866c54 100755
> --- a/tests/generic/068
> +++ b/tests/generic/068
> @@ -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 \
> +_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
>      || _fail "mount failed"

Can this remain _scratch_mount, since we _fail anyway?

(There are more of these scattered throughout.)

--D

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests
  2018-02-13 23:31   ` Darrick J. Wong
@ 2018-02-14  3:21     ` Eryu Guan
  0 siblings, 0 replies; 11+ messages in thread
From: Eryu Guan @ 2018-02-14  3:21 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: fstests, Andreas Gruenbacher

On Tue, Feb 13, 2018 at 03:31:40PM -0800, Darrick J. Wong wrote:
> On Tue, Feb 13, 2018 at 05:12:03PM +0800, Eryu Guan wrote:
> > Also remove redundant status checks of _scratch_mount.
> > 
> > Signed-off-by: Eryu Guan <eguan@redhat.com>
> > ---
> 
> <skipping to the generic and xfs tests>
> 
> > diff --git a/tests/generic/054 b/tests/generic/054
> > index 12f471a19090..84b8271a11bd 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 ! _scratch_mount_nocheck >>$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 \
> > +	_scratch_mount_nocheck >>$seqres.full 2>&1 \
> >  	    || _fail "mount failed: $MOUNT_OPTIONS"
> 
> nocheck || fail ??
> 
> I wonder if the fail message should always spit out the mount options
> that were tried?

Seems there's no need to do so in this case, as we know what
$MOUNT_OPTIONS we're using. We could dump the specific mount options if
the test uses non-default options and really cares about it, and this
should be done case-by-case.

> 
> > diff --git a/tests/generic/068 b/tests/generic/068
> > index bd12278cdd25..91b327866c54 100755
> > --- a/tests/generic/068
> > +++ b/tests/generic/068
> > @@ -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 \
> > +_scratch_mount_nocheck                      >>$seqres.full 2>&1 \
> >      || _fail "mount failed"
> 
> Can this remain _scratch_mount, since we _fail anyway?
> 
> (There are more of these scattered throughout.)

Sure. I thought it'd be better to keep dumping mount error message to
$seqres.full and keep the pretty format :) But seems that's not
necessary, the error message would break golden image anyway.

I'll revisit the tests with similar patterns.

Thanks,
Eryu

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] fstests: introduce _scratch_mount_nocheck
  2018-02-13 14:11   ` Andreas Gruenbacher
@ 2018-02-14  3:30     ` Eryu Guan
  0 siblings, 0 replies; 11+ messages in thread
From: Eryu Guan @ 2018-02-14  3:30 UTC (permalink / raw)
  To: Andreas Gruenbacher; +Cc: fstests, Darrick J . Wong

On Tue, Feb 13, 2018 at 03:11:07PM +0100, Andreas Gruenbacher wrote:
> On 13 February 2018 at 10:12, Eryu Guan <eguan@redhat.com> wrote:
> > _fail test by default if _scratch_mount failed and introduce
> > _scratch_mount_nocheck for tests that need to check mount results
> > themselves.
> >
> > Signed-off-by: Eryu Guan <eguan@redhat.com>
> > ---

[snip]

> > --- a/common/rc
> > +++ b/common/rc
> > @@ -352,13 +352,18 @@ _supports_filetype()
> >         esac
> >  }
> >
> > +_scratch_mount_nocheck()
> > +{
> > +       if [ "$FSTYP" == "overlay" ]; then
> > +               _overlay_scratch_mount $*
> > +               return $?
> > +       fi
> > +       _mount -t $FSTYP `_scratch_mount_options $*`
> > +}
> > +
> >  _scratch_mount()
> >  {
> > -    if [ "$FSTYP" == "overlay" ]; then
> > -        _overlay_scratch_mount $*
> > -        return $?
> > -    fi
> > -    _mount -t $FSTYP `_scratch_mount_options $*`
> > +       _scratch_mount_nocheck $* || _fail "_scratch_mount failed"
> 
> I'd change that to "mount failed"; the name of the helper function
> isn't very interesting.

I think it'd be easier to know which mount fails, but sure, I have no
strong preference on it.

> 
> >  }
> >
> >  _scratch_unmount()
> > @@ -397,7 +402,7 @@ _scratch_cycle_mount()
> >         opts="-o $opts"
> >      fi
> >      _scratch_unmount
> > -    _scratch_mount "$opts"
> > +    _scratch_mount_nocheck "$opts" || _fail "_scratch_cycle_mount failed"
> 
> Same here, change to "cycle mount failed" or similar.

OK.

And thanks for the testing feedback!

Eryu

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-02-14  3:30 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-13  9:12 [RFC PATCH 0/2] _fail test by default if _scratch_mount fails Eryu Guan
2018-02-13  9:12 ` [PATCH 1/2] fstests: introduce _scratch_mount_nocheck Eryu Guan
2018-02-13 14:11   ` Andreas Gruenbacher
2018-02-14  3:30     ` Eryu Guan
2018-02-13  9:12 ` [PATCH 2/2] fstests: use _scratch_mount_nocheck where appropriate in tests Eryu Guan
2018-02-13  9:58   ` Amir Goldstein
2018-02-13 10:09     ` Eryu Guan
2018-02-13 10:37       ` Andreas Gruenbacher
2018-02-13 23:31   ` Darrick J. Wong
2018-02-14  3:21     ` Eryu Guan
2018-02-13 14:15 ` [RFC PATCH 0/2] _fail test by default if _scratch_mount fails Andreas Gruenbacher

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.