96 lines
1.6 KiB
Bash
Executable File
96 lines
1.6 KiB
Bash
Executable File
#! /bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# Copyright (c) 2015-2018 Oracle and/or its affiliates. All Rights Reserved.
|
|
# Copyright (c) International Business Machines Corp., 2001
|
|
# Created by: Robbie Williamson (robbiew@us.ibm.com)
|
|
|
|
TST_CLEANUP="nfs03_cleanup"
|
|
TST_SETUP="nfs03_setup"
|
|
TST_TESTFUNC="do_test"
|
|
|
|
. nfs_lib.sh
|
|
|
|
DIR_NUM=${DIR_NUM:-"100"}
|
|
FILE_NUM=${FILE_NUM:-"100"}
|
|
THREAD_NUM=${THREAD_NUM:-"1"}
|
|
ORIG_NFSD=
|
|
|
|
make_subdirs()
|
|
{
|
|
tst_res TINFO "make '$DIR_NUM' directories"
|
|
for i in $(seq 0 $DIR_NUM); do
|
|
ROD mkdir -p dir$i
|
|
done
|
|
}
|
|
|
|
touch_files()
|
|
{
|
|
for j in $(seq 0 $DIR_NUM); do
|
|
cd dir$j
|
|
for k in $(seq 0 $FILE_NUM); do
|
|
ROD touch file$j$k
|
|
done
|
|
cd ..
|
|
done
|
|
}
|
|
|
|
rm_files()
|
|
{
|
|
for j in $(seq 0 $DIR_NUM); do
|
|
cd dir$j
|
|
for k in $(seq 0 $FILE_NUM); do
|
|
ROD rm -f file$j$k
|
|
done
|
|
cd ..
|
|
done
|
|
}
|
|
|
|
do_test()
|
|
{
|
|
tst_res TINFO "Multiple processes creating and deleting files"
|
|
|
|
tst_res TINFO "creating dir1 subdirectories & files"
|
|
ROD mkdir -p dir1
|
|
cd dir1
|
|
make_subdirs
|
|
touch_files &
|
|
pid1=$!
|
|
cd ..
|
|
|
|
tst_res TINFO "creating dir2 subdirectories & files"
|
|
ROD mkdir -p dir2
|
|
cd dir2
|
|
make_subdirs
|
|
touch_files &
|
|
pid2=$!
|
|
|
|
tst_res TINFO "cd dir1 & removing files"
|
|
cd ../dir1
|
|
wait $pid1
|
|
rm_files &
|
|
|
|
tst_res TINFO "cd dir2 & removing files"
|
|
cd ../dir2
|
|
wait $pid2
|
|
rm_files
|
|
|
|
tst_res TPASS "test done"
|
|
}
|
|
|
|
nfs03_setup()
|
|
{
|
|
nfs_setup
|
|
|
|
tst_res TINFO "Setting server side nfsd count to $THREAD_NUM"
|
|
ORIG_NFSD=$(tst_rhost_run -s -c 'ps -ef | grep -w nfsd | grep -v grep | wc -l')
|
|
tst_rhost_run -s -c "rpc.nfsd $THREAD_NUM"
|
|
}
|
|
|
|
nfs03_cleanup()
|
|
{
|
|
tst_rhost_run -c "rpc.nfsd $ORIG_NFSD"
|
|
nfs_cleanup
|
|
}
|
|
|
|
tst_run
|