QA updates and a couple of new tests.

Exercise some of the limits for large file handling on 32-bit-sector_t systems.
This commit is contained in:
fsgqa
2003-07-07 03:34:36 +00:00
parent 6904219985
commit 30f93b8e71
7 changed files with 280 additions and 30 deletions
Executable
+120
View File
@@ -0,0 +1,120 @@
#! /bin/sh
# XFS QA Test No. 071
# $Id: 071,v 1.1 2003/07/07 03:34:36 fsgqa Exp $
#
# Exercise IO at large file offsets (just terabytes for now).
#
#-----------------------------------------------------------------------
# Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 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.
#
# Further, this software is distributed without any warranty that it is
# free of the rightful claim of any third person regarding infringement
# or the like. Any license provided herein, whether implied or
# otherwise, applies only to this software file. Patent licenses, if
# any, provided herein do not apply to combinations of this program with
# other software, or any other product whatsoever.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write the Free Software Foundation, Inc., 59
# Temple Place - Suite 330, Boston MA 02111-1307, USA.
#
# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
# Mountain View, CA 94043, or:
#
# http://www.sgi.com
#
# For further information regarding this notice, see:
#
# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
#-----------------------------------------------------------------------
#
# creator
owner=nathans@sgi.com
seq=`basename $0`
echo "QA output created by $seq"
rm -f $seq.full
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
_cleanup()
{
rm -f $tmp.*
umount $SCRATCH_DEV 2>/dev/null
}
trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
write_block()
{
location=$1
offset=$2
bytes=$3
direct=$4
[ `$direct` ] && flags=-d
echo "Writing $bytes bytes at $location (direct=$direct)" | tee -a $seq.full
xfs_io -c "pwrite $offset 512" $flags $SCRATCH_MNT/$seq
echo "Saving block map to $seq.full" | tee -a $seq.full
xfs_bmap -v $SCRATCH_MNT/$seq >>$seq.full
echo "Reading $bytes bytes at $location (direct=$direct)" | tee -a $seq.full
xfs_io -c "pread $offset $bytes" $flags $SCRATCH_MNT/$seq
xfs_io -c "pread -v $offset $bytes" $flags $SCRATCH_MNT/$seq >>$seq.full
echo | tee -a $seq.full
}
# real QA test starts here
_require_scratch
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
source $tmp.mkfs
echo
_scratch_mount
oneTB=`echo 1024 \* 1024 \* 1024 \* 1024 | bc`
# Step from 1Tb through 16Tb, doing seek/writes/reads on each
# boundary (using holey files), 1byte back from the boundary,
# and 1FSB back from the boundary (and xfs_bmaps all the way).
xfs_io -c "truncate 0" -f $SCRATCH_MNT/$seq
count=1
while [ $count -le 16 ]
do
# buffered IO
offset=`echo $oneTB \* $count | bc`
write_block "$count Tb" $offset 512 false
offset=`echo $oneTB \* $count \- 1 | bc`
write_block "$count Tb minus 1 byte" $offset 512 false
offset=`echo $oneTB \* $count \- $dbsize | bc`
write_block "$count Tb minus 1 FSB" $offset 512 false
# direct IO
offset=`echo $oneTB \* $count | bc`
write_block "$count Tb" $offset $dbsize true
offset=`echo $oneTB \* $count \- 1 | bc`
write_block "$count Tb minus 1 FSB" $offset $dbsize true
count=`expr $count + 1`
done
# success, all done
status=0
exit
+38
View File
@@ -0,0 +1,38 @@
QA output created by 071
meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
data = bsize=XXX blocks=XXX, imaxpct=PCT
= sunit=XXX swidth=XXX, unwritten=X
naming =VERN bsize=XXX
log =LDEV bsize=XXX blocks=XXX
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
Writing 512 bytes at 1 Tb (direct=false)
wrote 512/512 bytes at offset 1099511627776
Saving block map to 071.full
Reading 512 bytes at 1 Tb (direct=false)
read 512/512 bytes at offset 1099511627776
Writing 512 bytes at 1 Tb minus 1 byte (direct=false)
wrote 512/512 bytes at offset 1099511627775
Saving block map to 071.full
Reading 512 bytes at 1 Tb minus 1 byte (direct=false)
read 512/512 bytes at offset 1099511627775
Writing 512 bytes at 1 Tb minus 1 FSB (direct=false)
wrote 512/512 bytes at offset 1099511623680
Saving block map to 071.full
Reading 512 bytes at 1 Tb minus 1 FSB (direct=false)
read 512/512 bytes at offset 1099511623680
Writing 4096 bytes at 1 Tb (direct=true)
wrote 512/512 bytes at offset 1099511627776
Saving block map to 071.full
Reading 4096 bytes at 1 Tb (direct=true)
read 512/4096 bytes at offset 1099511627776
Writing 4096 bytes at 1 Tb minus 1 FSB (direct=true)
wrote 512/512 bytes at offset 1099511627775
Saving block map to 071.full
Reading 4096 bytes at 1 Tb minus 1 FSB (direct=true)
read 513/4096 bytes at offset 1099511627775
Executable
+76
View File
@@ -0,0 +1,76 @@
#! /bin/sh
# XFS QA Test No. 072
# $Id: 072,v 1.1 2003/07/07 03:34:36 fsgqa Exp $
#
# Check some unwritten extent boundary conditions
#
#-----------------------------------------------------------------------
# Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 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.
#
# Further, this software is distributed without any warranty that it is
# free of the rightful claim of any third person regarding infringement
# or the like. Any license provided herein, whether implied or
# otherwise, applies only to this software file. Patent licenses, if
# any, provided herein do not apply to combinations of this program with
# other software, or any other product whatsoever.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write the Free Software Foundation, Inc., 59
# Temple Place - Suite 330, Boston MA 02111-1307, USA.
#
# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
# Mountain View, CA 94043, or:
#
# http://www.sgi.com
#
# For further information regarding this notice, see:
#
# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
#-----------------------------------------------------------------------
#
# creator
owner=nathans@sgi.com
seq=`basename $0`
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
# real QA test starts here
rm -f $TEST_MNT/ouch
echo Silence is golden
# reserve 1MiB, truncate at 100bytes
xfs_io -f -c 'resvsp 0 1m' -c 'truncate 100' $TEST_MNT/ouch
rm -f $TEST_MNT/ouch
# reserve 1MiB, truncate at 2MiB
xfs_io -f -c 'resvsp 0 1m' -c 'truncate 2m' $TEST_MNT/ouch
rm -f $TEST_MNT/ouch
# reserve 1MiB, truncate at 1m
xfs_io -f -c 'resvsp 0 1m' -c 'truncate 1m' $TEST_MNT/ouch
rm -f $TEST_MNT/ouch
# reserve 1MiB, 1MiB hole, reserve 1MiB, truncate at 3m
xfs_io -f -c 'resvsp 0 1m' -c 'resvsp 2m 1m' -c 'truncate 3m' $TEST_MNT/ouch
rm -f $TEST_MNT/ouch
# success, all done
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 071
Silence is golden
+32 -26
View File
@@ -26,8 +26,11 @@ attr nathans@sgi.com dxm@sgi.com
# xfs_logprint # xfs_logprint
logprint dxm@sgi.com logprint dxm@sgi.com
# xfsdump, xfsrestore, xfsinvutil, xfs_copy # xfsdump, xfsrestore, xfsinvutil
xfsdump tes@sgi.com ivanr@sgi.com dump tes@sgi.com ivanr@sgi.com
# xfs_copy
copy harshula@sgi.com
# chacl, libacl # chacl, libacl
acl tes@sgi.com ajag@sgi.com acl tes@sgi.com ajag@sgi.com
@@ -76,32 +79,32 @@ ioctl nathans@sgi.com
019 mkfs auto 019 mkfs auto
020 metadata attr auto 020 metadata attr auto
021 db attr auto 021 db attr auto
022 xfsdump ioctl auto 022 dump ioctl auto
023 xfsdump ioctl auto 023 dump ioctl auto
024 xfsdump ioctl auto 024 dump ioctl auto
025 xfsdump ioctl auto 025 dump ioctl auto
026 xfsdump ioctl auto 026 dump ioctl auto
027 xfsdump ioctl auto 027 dump ioctl auto
028 xfsdump ioctl auto 028 dump ioctl auto
029 mkfs logprint auto 029 mkfs logprint auto
030 repair auto 030 repair auto
031 repair mkfs auto 031 repair mkfs auto
032 mkfs auto 032 mkfs auto
033 repair auto 033 repair auto
034 other auto 034 other auto
035 xfsdump ioctl auto 035 dump ioctl auto
036 xfsdump ioctl auto 036 dump ioctl auto
037 xfsdump ioctl auto 037 dump ioctl auto
038 xfsdump ioctl auto 038 dump ioctl auto
039 xfsdump ioctl auto 039 dump ioctl auto
040 other auto 040 other auto
041 growfs ioctl auto 041 growfs ioctl auto
042 fsr ioctl auto 042 fsr ioctl auto
043 xfsdump ioctl auto 043 dump ioctl auto
044 other auto 044 other auto
045 other auto 045 other auto
046 xfsdump ioctl auto 046 dump ioctl auto
047 xfsdump ioctl auto 047 dump ioctl auto
048 other auto 048 other auto
049 rw auto 049 rw auto
050 quota auto 050 quota auto
@@ -109,19 +112,22 @@ ioctl nathans@sgi.com
052 quota db auto 052 quota db auto
053 acl repair auto 053 acl repair auto
054 quota auto 054 quota auto
055 xfsdump ioctl auto 055 dump ioctl auto
056 xfsdump ioctl auto 056 dump ioctl auto
057 acl auto 057 acl auto
058 acl auto 058 acl auto
059 xfsdump ioctl 059 dump ioctl
060 xfsdump ioctl 060 dump ioctl
061 xfsdump ioctl auto 061 dump ioctl auto
062 attr auto 062 attr auto
063 xfsdump auto 063 dump auto
064 xfsdump 064 dump
065 xfsdump auto 065 dump auto
066 xfsdump ioctl auto 066 dump ioctl auto
067 acl attr auto 067 acl attr auto
068 other auto 068 other auto
069 rw auto 069 rw auto
070 attr auto 070 attr auto
071 rw
072 rw
073 copy
+2 -4
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# #
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved. # Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
# #
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 of the GNU General Public License as # under the terms of version 2 of the GNU General Public License as
@@ -33,8 +33,6 @@
# #
# Make a new test # Make a new test
# #
# $Header: /build2/depot/linux/pcp/dev/qa/RCS/new,v 2.22 1999/10/06 19:16:53 kenmcd Exp $
#
# generic initialization # generic initialization
iam=new iam=new
@@ -102,7 +100,7 @@ cat <<End-of-File | sed -e '/rcsId/s//Id: 1.1 /' >$id
# what am I here for? # what am I here for?
# #
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved. # Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
# #
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 of the GNU General Public License as # under the terms of version 2 of the GNU General Public License as
Executable
+10
View File
@@ -0,0 +1,10 @@
#!/bin/sh
#
# Does a dbench run with 20 clients
#
DBENCH_CLIENTS=20
export DBENCH_CLIENTS
[ ! -d "$here" ] && here=`pwd`
exec $here/common.dbench $@