#! /bin/bash
-# FS QA Test No. 331
-#
-# Create a big enough rmapbt that we tickle a fdblocks accounting bug.
-#
-#-----------------------------------------------------------------------
+# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2016, Oracle and/or its affiliates. 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.
+# FS QA Test No. 331
#
-# 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.
+# Create a big enough rmapbt that we tickle a fdblocks accounting bug.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#-----------------------------------------------------------------------
-
seq=`basename "$0"`
seqres="$RESULT_DIR/$seq"
echo "QA output created by $seq"
_require_scratch
_require_xfs_scratch_rmapbt
_require_scratch_reflink
+_require_xfs_io_command "falloc"
_require_test_program "punch-alternating"
rm -f "$seqres.full"
echo "+ mount fs image"
_scratch_mount
-blksz="$(get_block_size $SCRATCH_MNT)"
+blksz="$(_get_block_size $SCRATCH_MNT)"
# btree header is 56 bytes; an rmapbt record is 24 bytes; and
# a rmapbt key/pointer pair is 44 bytes.
echo "+ make some files"
$XFS_IO_PROG -f -c "falloc 0 $len" -c "pwrite -S 0x68 -b 1048576 0 $len" $SCRATCH_MNT/f1 >> $seqres.full
$XFS_IO_PROG -f -c "falloc 0 $len" -c "pwrite -S 0x68 -b 1048576 0 $len" $SCRATCH_MNT/f2 >> $seqres.full
-./src/punch-alternating $SCRATCH_MNT/f1 >> "$seqres.full"
-./src/punch-alternating $SCRATCH_MNT/f2 >> "$seqres.full"
+$here/src/punch-alternating $SCRATCH_MNT/f1 >> "$seqres.full"
+$here/src/punch-alternating $SCRATCH_MNT/f2 >> "$seqres.full"
# success, all done
status=0