ZTS: Debug zfs_share_concurrent_shares failure

Update zfs_share_concurrent_shares test case to wait a few seconds
and recheck that the filesystem isn't shared.  The intent here is
determine the nature of the error and if it may be a race.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by:  Umer Saleem <usaleem@ixsystems.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #15379
This commit is contained in:
Brian Behlendorf 2023-10-10 13:32:33 -07:00 committed by Tony Hutter
parent e54eef24c6
commit 2f21b169af
1 changed files with 34 additions and 5 deletions

View File

@ -98,11 +98,26 @@ function test_share # filesystem
zfs set sharenfs=on $filesystem || \
sub_fail "zfs set sharenfs=on $filesystem failed."
is_shared $mntp || \
sub_fail "File system $filesystem is not shared (set sharenfs)."
#
# Verify 'zfs share' works as well.
# Verify 'zfs share' results in a shared mount. We check this
# multiple times because of Fedora 37+ it's been observed in
# the CI that the share may not be immediately reported.
#
for retry in $(seq 1 10); do
is_shared $mntp && break
log_note "Wait $retry / 10 for is_shared $mntp (set sharenfs)"
if [[ $retry -eq 10 ]]; then
sub_fail "File system $filesystem is not shared (set sharenfs)."
fi
sleep 1
done
#
# Verify 'zfs unshare' works as well.
#
zfs unshare $filesystem || \
sub_fail "zfs unshare $filesystem failed."
@ -112,9 +127,23 @@ function test_share # filesystem
zfs share $filesystem || \
sub_fail "zfs share $filesystem failed."
is_shared $mntp || \
sub_fail "file system $filesystem is not shared (zfs share)."
#
# Verify 'zfs share' results in a shared mount. We check this
# multiple times because of Fedora 37+ it's been observed in
# the CI that the share may not be immediately reported.
#
for retry in $(seq 1 10); do
is_shared $mntp && break
log_note "Wait $retry / 10 for is_shared $mntp (zfs share)"
if [[ $retry -eq 10 ]]; then
sub_fail "File system $filesystem is not shared (zfs share)."
fi
sleep 1
done
#log_note "Sharing a shared file system fails."
zfs share $filesystem && \