[PATCH 1/2] fstests: introduce _scratch_mount_nocheck

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



_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@xxxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux