1#!/bin/sh 2# Copyright (c) 2016 Oracle and/or its affiliates. All Rights Reserved. 3# Copyright (c) International Business Machines Corp., 2003 4# 5# This program is free software; you can redistribute it and/or 6# modify it under the terms of the GNU General Public License as 7# published by the Free Software Foundation; either version 2 of 8# the License, or (at your option) any later version. 9# 10# This program is distributed in the hope that it would be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17# 18# PURPOSE: Runs fsstress over an NFS mount point for a specified amount 19# of time. The purpose of this test is to stress the NFS kernel 20# code and possibly the underlying filesystem where the export 21# resides. A PASS is if the test completes. 22 23TCID=nfs06 24TST_TOTAL=1 25TST_CLEANUP="nfs_cleanup" 26 27. nfs_lib.sh 28. test_net.sh 29 30do_test() 31{ 32 tst_resm TINFO "Starting fsstress processes on NFS mounts" 33 34 local n=0 35 local pids 36 for i in $VERSION; do 37 fsstress -l 1 -d $TST_TMPDIR/$i/$n -n 1000 -p 50 -r -c > /dev/null & 38 pids="$pids $!" 39 n=$(( n + 1 )) 40 done 41 42 tst_resm TINFO "waiting for pids:$pids" 43 for p in $pids; do 44 wait $p 45 if [ $? -ne 0 ]; then 46 kill -9 $pids 47 tst_brkm TFAIL "fsstress process failed" 48 else 49 tst_resm TINFO "fsstress '$p' completed" 50 fi 51 done 52 53 tst_resm TPASS "all fsstress processes completed on '$n' NFS mounts" 54} 55 56nfs_setup 57 58do_test 59 60tst_exit 61