| #! /bin/bash | |
| # FS QA Test No. 113 | |
| # | |
| # aio-stress | |
| # | |
| #----------------------------------------------------------------------- | |
| # Copyright (c) 2005 Silicon Graphics, Inc. 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=nathans@sgi.com | |
| seq=`basename $0` | |
| echo "QA output created by $seq" | |
| here=`pwd` | |
| tmp=/tmp/$$ | |
| status=0 # success is the default! | |
| trap "_cleanup; exit \$status" 0 1 2 3 15 | |
| _cleanup() | |
| { | |
| cd / | |
| rm -f $testdir/aio-stress.$$.* | |
| _cleanup_testdir | |
| } | |
| # get standard environment, filters and checks | |
| . ./common.rc | |
| . ./common.filter | |
| _do_test() | |
| { | |
| _n="$1" | |
| _param="$2" | |
| _count="$3" | |
| _nproc="$4" | |
| _files="$testdir/aiostress.$$.$_n" | |
| __proc=$_nproc | |
| [ $__proc -gt 1 ] && _param="-t $__proc $_param" | |
| while [ $__proc -gt 1 ]; do | |
| _files="$_files $testdir/aiostress.$$.$_n.$__proc" | |
| let __proc=$__proc-1 | |
| done | |
| rm -f $_files | |
| echo "" | |
| echo "-----------------------------------------------" | |
| echo "aio-stress.$_n : $_param" | |
| echo "-----------------------------------------------" | |
| if ! $here/ltp/aio-stress $_param $AIOSTRESS_AVOID -I $_count $_files >>$tmp.out 2>&1 | |
| then | |
| echo " aio-stress (count=$_count) returned $?" | |
| cat $tmp.out | |
| status=1 | |
| exit | |
| fi | |
| _check_test_fs | |
| rm -f $_files | |
| } | |
| # real QA test starts here | |
| _supported_fs generic | |
| _supported_os Linux | |
| [ -x $here/ltp/aio-stress ] || _notrun "aio-stress not built for this platform" | |
| _setup_testdir | |
| echo "brevity is wit..." | |
| count=1000 | |
| procs=20 | |
| _check_test_fs | |
| # the default | |
| _do_test 1 "-s 120m" $count 1 | |
| # and the default with multiprocess | |
| _do_test 2 "-s 10m" $count $procs | |
| # as above, but now using direct IO | |
| _do_test 3 "-s 10m -O" $count $procs | |
| exit |