#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2014 Fujitsu. All Rights Reserved.
+#
# FS QA Test No. ext4/003
#
# Regression test for commit:
# b5b6077 ext4: fix wrong assert in ext4_mb_normalize_request()
# This testcase checks whether this bug has been fixed.
#
-#-----------------------------------------------------------------------
-# Copyright (c) 2014 Fujitsu. All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#-----------------------------------------------------------------------
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-trap "_cleanup; exit \$status" 0 1 2 3 15
+. ./common/preamble
+_begin_fstest auto quick
+# Override the default cleanup function.
_cleanup()
{
_scratch_unmount
}
-# get standard environment, filters and checks
-. ./common/rc
+# Import common functions.
. ./common/filter
# real QA test starts here
_supported_fs ext4
-_supported_os Linux
_require_scratch
-_require_ext4_mkfs_bigalloc
-_require_ext4_bigalloc
-
-rm -f $seqres.full
+_require_scratch_ext4_feature "bigalloc"
-yes | mkfs.ext4 -O bigalloc -C 65536 -g 256 $SCRATCH_DEV 512m \
+BLOCK_SIZE=$(get_page_size)
+$MKFS_EXT4_PROG -F -b $BLOCK_SIZE -O bigalloc -C $(($BLOCK_SIZE * 16)) -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