#!/bin/sh # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (c) 2016-2018 Oracle and/or its affiliates. All Rights Reserved. # Copyright (c) International Business Machines Corp., 2003 # # PURPOSE: Runs fsstress over an NFS mount point for a specified amount # of time. The purpose of this test is to stress the NFS kernel # code and possibly the underlying filesystem where the export # resides. A PASS is if the test completes. TST_TESTFUNC="do_test" TST_CLEANUP="do_cleanup" . nfs_lib.sh THREAD_NUM=${THREAD_NUM:-"2"} do_cleanup() { [ -n "$pids" ] && kill -9 $pids nfs_cleanup } do_test() { tst_res TINFO "Starting fsstress processes on NFS mounts" local n=0 local pids for i in $VERSION; do fsstress -l 1 -d $TST_TMPDIR/$i/$n -n 1000 -p $THREAD_NUM -r -c > /dev/null & pids="$pids $!" n=$(( n + 1 )) done tst_res TINFO "waiting for pids:$pids" for p in $pids; do wait $p || tst_brk TFAIL "fsstress process failed" tst_res TINFO "fsstress '$p' completed" done pids= tst_res TPASS "all fsstress processes completed on '$n' NFS mounts" } tst_run