4 # Test out reallocation of the extent array in xfs_io.
5 # Based on a testcase from Tomasz Majkowski <moosh009@gmail.com>.
7 #-----------------------------------------------------------------------
8 # Copyright (c) 2009 Christoph Hellwig.
10 # This program is free software; you can redistribute it and/or
11 # modify it under the terms of the GNU General Public License as
12 # published by the Free Software Foundation.
14 # This program is distributed in the hope that it would be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write the Free Software Foundation,
21 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 #-----------------------------------------------------------------------
26 seqres=$RESULT_DIR/$seq
27 seqres=$RESULT_DIR/$seq
28 seqres=$RESULT_DIR/$seq
29 echo "QA output created by $seq"
33 status=1 # failure is the default!
40 let fsize=$(($writes * 0x100000))
42 # prevent EOF preallocation from affecting results
43 xfs_io -f $file -c "truncate $fsize"
46 for i in `seq 0 $writes`; do
47 xfs_io -f $file -c "pwrite -q $offset 64k"
48 let offset=$offset+0x100000
57 awk '$3 ~ /hole/ { print $1, $2, $3; next }
63 rm -f $SCRATCH_MNT/r??
65 trap "_cleanup; exit \$status" 0 1 2 3 15
69 # get standard environment, filters and checks
73 # real QA test starts here
77 _scratch_mkfs > /dev/null 2>&1
78 _scratch_mount > /dev/null 2>&1
80 for i in 10 14 15 16 17 28 29 30 31; do
81 rm -f $SCRATCH_MNT/hole_file
82 _write_holes $SCRATCH_MNT/hole_file${i} ${i}
85 for i in 10 14 15 16 17 28 29 30 31; do
86 xfs_bmap $SCRATCH_MNT/hole_file${i} | _filter_bmap