]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfs: test mkfs extent size hint validation
authorDarrick J. Wong <darrick.wong@oracle.com>
Sat, 16 Feb 2019 00:41:19 +0000 (16:41 -0800)
committerEryu Guan <guaneryu@gmail.com>
Sat, 16 Feb 2019 10:55:18 +0000 (18:55 +0800)
Make sure mkfs won't format filesystems that fail extent size hint
validation.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/xfs/500 [new file with mode: 0755]
tests/xfs/500.out [new file with mode: 0644]
tests/xfs/group

diff --git a/tests/xfs/500 b/tests/xfs/500
new file mode 100755 (executable)
index 0000000..7a965c6
--- /dev/null
@@ -0,0 +1,48 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (c) 2019 Oracle, Inc.  All Rights Reserved.
+#
+# FS QA Test No. 500
+#
+# Make sure we can't format a filesystem with insane extent hints.
+#
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+tmp=/tmp/$$
+status=1       # failure is the default!
+testfile=$TEST_DIR/$seq.txt
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+       cd /
+       rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+
+# real QA test starts here
+_supported_fs xfs
+_supported_os Linux
+_require_scratch_nocheck
+
+rm -f $seqres.full
+
+# Try regular extent size hint
+echo extszinherit >> $seqres.full
+_scratch_mkfs -d extszinherit=8388608 >> $seqres.full 2>&1
+test $? -eq 1 || echo "should have failed extszinherit"
+
+# Try cow extent size hint if supported
+$MKFS_XFS_PROG -N -f $SCRATCH_DEV > $tmp.mkfs
+if grep -q 'reflink=' $tmp.mkfs ; then
+       echo cowextsize >> $seqres.full
+       _scratch_mkfs -m reflink=1 -d cowextsize=8388608 >> $seqres.full 2>&1
+       test $? -eq 1 || echo "should have failed cowextsize"
+fi
+
+echo silence is golden
+status=0
+exit
diff --git a/tests/xfs/500.out b/tests/xfs/500.out
new file mode 100644 (file)
index 0000000..8d26962
--- /dev/null
@@ -0,0 +1,2 @@
+QA output created by 500
+silence is golden
index 7b7d69f1beaaf0dce8c20fe51b3bd7738458207c..b458f7888a5a96e3f5159880fd0e73745ca2adcc 100644 (file)
 497 dangerous_fuzzers dangerous_scrub dangerous_online_repair
 498 dangerous_fuzzers dangerous_norepair
 499 auto quick
+500 auto quick mkfs