From: fsgqa Date: Mon, 7 Jul 2003 03:34:36 +0000 (+0000) Subject: QA updates and a couple of new tests. X-Git-Tag: v1.1.0~970 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=30f93b8e7109b5f44a320a7f50b834f6a1fa409e QA updates and a couple of new tests. Exercise some of the limits for large file handling on 32-bit-sector_t systems. --- diff --git a/071 b/071 new file mode 100755 index 00000000..84e0d34a --- /dev/null +++ b/071 @@ -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 diff --git a/071.out b/071.out new file mode 100644 index 00000000..b3309e62 --- /dev/null +++ b/071.out @@ -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 + diff --git a/072 b/072 new file mode 100755 index 00000000..6f3f0f5a --- /dev/null +++ b/072 @@ -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 diff --git a/072.out b/072.out new file mode 100644 index 00000000..9a9ef40a --- /dev/null +++ b/072.out @@ -0,0 +1,2 @@ +QA output created by 071 +Silence is golden diff --git a/group b/group index 1c13b8b0..a7eea660 100644 --- a/group +++ b/group @@ -26,8 +26,11 @@ attr nathans@sgi.com dxm@sgi.com # xfs_logprint logprint dxm@sgi.com -# xfsdump, xfsrestore, xfsinvutil, xfs_copy -xfsdump tes@sgi.com ivanr@sgi.com +# xfsdump, xfsrestore, xfsinvutil +dump tes@sgi.com ivanr@sgi.com + +# xfs_copy +copy harshula@sgi.com # chacl, libacl acl tes@sgi.com ajag@sgi.com @@ -76,32 +79,32 @@ ioctl nathans@sgi.com 019 mkfs auto 020 metadata attr auto 021 db attr auto -022 xfsdump ioctl auto -023 xfsdump ioctl auto -024 xfsdump ioctl auto -025 xfsdump ioctl auto -026 xfsdump ioctl auto -027 xfsdump ioctl auto -028 xfsdump ioctl auto +022 dump ioctl auto +023 dump ioctl auto +024 dump ioctl auto +025 dump ioctl auto +026 dump ioctl auto +027 dump ioctl auto +028 dump ioctl auto 029 mkfs logprint auto 030 repair auto 031 repair mkfs auto 032 mkfs auto 033 repair auto 034 other auto -035 xfsdump ioctl auto -036 xfsdump ioctl auto -037 xfsdump ioctl auto -038 xfsdump ioctl auto -039 xfsdump ioctl auto +035 dump ioctl auto +036 dump ioctl auto +037 dump ioctl auto +038 dump ioctl auto +039 dump ioctl auto 040 other auto 041 growfs ioctl auto 042 fsr ioctl auto -043 xfsdump ioctl auto +043 dump ioctl auto 044 other auto 045 other auto -046 xfsdump ioctl auto -047 xfsdump ioctl auto +046 dump ioctl auto +047 dump ioctl auto 048 other auto 049 rw auto 050 quota auto @@ -109,19 +112,22 @@ ioctl nathans@sgi.com 052 quota db auto 053 acl repair auto 054 quota auto -055 xfsdump ioctl auto -056 xfsdump ioctl auto +055 dump ioctl auto +056 dump ioctl auto 057 acl auto 058 acl auto -059 xfsdump ioctl -060 xfsdump ioctl -061 xfsdump ioctl auto +059 dump ioctl +060 dump ioctl +061 dump ioctl auto 062 attr auto -063 xfsdump auto -064 xfsdump -065 xfsdump auto -066 xfsdump ioctl auto +063 dump auto +064 dump +065 dump auto +066 dump ioctl auto 067 acl attr auto 068 other auto 069 rw auto 070 attr auto +071 rw +072 rw +073 copy diff --git a/new b/new index 970a1388..5b7588c8 100755 --- a/new +++ b/new @@ -1,6 +1,6 @@ #! /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 # under the terms of version 2 of the GNU General Public License as @@ -33,8 +33,6 @@ # # 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 iam=new @@ -102,7 +100,7 @@ cat <$id # 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 # under the terms of version 2 of the GNU General Public License as diff --git a/run.dbench20 b/run.dbench20 new file mode 100755 index 00000000..20a90b0d --- /dev/null +++ b/run.dbench20 @@ -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 $@