2022-08-04 12:38:54

by Petr Vorel

[permalink] [raw]
Subject: [RFC][PATCH v3 10/10] nfs: Use TST_ALL_FILESYSTEMS=1

Signed-off-by: Petr Vorel <[email protected]>
---
Changes v2->v3:
* restart_daemon nfs-server + tst_sleep 500ms
But still sometimes last test TCONF due server not being ready
(restart is not reliable) :(
* Skip NTFS and vfat (NTFS is problematic, vfat IMHO does not make sense
to test).

testcases/network/nfs/nfs_stress/nfs_lib.sh | 28 +++++++++++++--------
1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/testcases/network/nfs/nfs_stress/nfs_lib.sh b/testcases/network/nfs/nfs_stress/nfs_lib.sh
index af7d46a21..b9872bb31 100644
--- a/testcases/network/nfs/nfs_stress/nfs_lib.sh
+++ b/testcases/network/nfs/nfs_stress/nfs_lib.sh
@@ -8,6 +8,7 @@ VERSION=${VERSION:=3}
NFILES=${NFILES:=1000}
SOCKET_TYPE="${SOCKET_TYPE:-udp}"
NFS_TYPE=${NFS_TYPE:=nfs}
+TST_SKIP_FILESYSTEMS="ntfs,vfat"

nfs_usage()
{
@@ -28,7 +29,7 @@ NFS_PARSE_ARGS_CALLER="$TST_PARSE_ARGS"
TST_OPTS="v:t:$TST_OPTS"
TST_PARSE_ARGS=nfs_parse_args
TST_USAGE=nfs_usage
-TST_NEEDS_TMPDIR=1
+TST_ALL_FILESYSTEMS=1
TST_NEEDS_ROOT=1
TST_NEEDS_CMDS="$TST_NEEDS_CMDS mount exportfs mount.nfs"
TST_SETUP="${TST_SETUP:-nfs_setup}"
@@ -63,7 +64,7 @@ nfs_get_remote_path()
done

v=${1:-$v}
- echo "$TST_TMPDIR/$v/$type"
+ echo "$TST_MNTPOINT/$v/$type"
}

nfs_server_udp_enabled()
@@ -162,8 +163,8 @@ nfs_setup()
tst_brk TCONF "UDP support disabled on NFS server"
fi

- local_dir="$TST_TMPDIR/$i/$n"
- remote_dir="$TST_TMPDIR/$i/$type"
+ local_dir="$TST_MNTPOINT/$i/$n"
+ remote_dir="$TST_MNTPOINT/$i/$type"
mkdir -p $local_dir

nfs_setup_server $(($$ + n))
@@ -174,7 +175,7 @@ nfs_setup()
done

if [ "$n" -eq 1 ]; then
- cd ${VERSION}/0
+ cd $TST_MNTPOINT/$VERSION/0
fi
}

@@ -190,19 +191,24 @@ nfs_cleanup()

local n=0
for i in $VERSION; do
- local_dir="$TST_TMPDIR/$i/$n"
- grep -q "$local_dir" /proc/mounts && umount $local_dir
+ type=$(get_socket_type $n)
+ remote_dir="$TST_MNTPOINT/$i/$type"
+ tst_rhost_run -c "test -d $remote_dir && exportfs -u *:$remote_dir"
+ tst_rhost_run -c "test -d $remote_dir && rm -rf $remote_dir"
n=$(( n + 1 ))
done

n=0
for i in $VERSION; do
- type=$(get_socket_type $n)
- remote_dir="$TST_TMPDIR/$i/$type"
- tst_rhost_run -c "test -d $remote_dir && exportfs -u *:$remote_dir"
- tst_rhost_run -c "test -d $remote_dir && rm -rf $remote_dir"
+ local_dir="$TST_MNTPOINT/$i/$n"
+
+ grep -q "$local_dir" /proc/mounts && umount $local_dir
n=$(( n + 1 ))
done
+
+ restart_daemon nfs-server
+ tst_sleep 500ms
}

+. daemonlib.sh
. tst_net.sh
--
2.37.1