xfs: test mkfs extent size hint validation

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>
This commit is contained in:
Darrick J. Wong
2019-02-15 16:41:19 -08:00
committed by Eryu Guan
parent ec295d73ac
commit c869a6712a
3 changed files with 51 additions and 0 deletions
Executable
+48
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
QA output created by 500
silence is golden
+1
View File
@@ -497,3 +497,4 @@
497 dangerous_fuzzers dangerous_scrub dangerous_online_repair
498 dangerous_fuzzers dangerous_norepair
499 auto quick
500 auto quick mkfs