Files
apfstests/225
T
Dave Chinner 3571a1a195 make 225 use SCRATCH_DEV
Use the scratch device for test 225 so that both custom mkfs and
mount options impact the test (e.g. filesystem block size). This
exposes test failures when using 512 byte block sizes, which
currently not tested unless the test device is specifically created
with a 512 byte block size.

Also clean up the file names to include the test number, and don't
remove the test files after the test has finished so that it leaves
behind a corpse that can be dissected when the test fails.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
2011-10-13 10:44:31 -05:00

80 lines
2.0 KiB
Bash
Executable File

#! /bin/bash
# FS QA Test No. 225
#
# Run the fiemap (file extent mapping) tester
#
#-----------------------------------------------------------------------
# Copyright (c) 2009 Eric Sandeen. 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.
#
# 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
#-----------------------------------------------------------------------
#
# creator
owner=sandeen@sandeen.net
seq=`basename $0`
echo "QA output created by $seq"
here=`pwd`
tmp=tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
_cleanup_testdir
}
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
# real QA test starts here
_supported_fs generic
_supported_os Linux
_require_scratch
_scratch_mkfs > /dev/null 2>&1
_scratch_mount > /dev/null 2>&1
rm -f $seq.full
fiemapfile=$SCRATCH_MNT/$seq.fiemap
fiemaplog=$SCRATCH_MNT/$seq.log
[ -x $here/src/fiemap-tester ] || _notrun "fiemap-tester not built"
seed=`date +%s`
echo "using seed $seed" >> $fiemaplog
echo "fiemap run without preallocation, with sync"
$here/src/fiemap-tester -q -S -s $seed -p 0 -r 200 $fiemapfile 2>&1 | tee -a $fiemaplog
if [ $? -ne 0 ]; then
if grep -q "Operation not supported" $fiemaplog; then
_notrun "FIEMAP not supported by this filesystem type: $FSTYP"
fi
status=$?
exit
fi
echo "fiemap run without preallocation or sync"
$here/src/fiemap-tester -q -s $seed -p 0 -r 200 $fiemapfile 2>&1 | tee -a $fiemaplog
status=0
exit