mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
3571a1a195
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>
80 lines
2.0 KiB
Bash
Executable File
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
|