aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRyan Moeller <[email protected]>2020-03-06 12:28:19 -0500
committerGitHub <[email protected]>2020-03-06 09:28:19 -0800
commitf5f6fb03b7e5e3d06da4c04b26319758568ae238 (patch)
tree1a574119d3ef07581fd755b86c14aac59a08003e /tests
parent788398c5625c2c42903debc9a3f0e6870df08fe0 (diff)
Change default to overlay=on
Filesystems allow overlay mounts by default on FreeBSD and Linux. Respect the native convention by switching the default to overlay=on, while retaining the option to turn the property off for compatibility with other operating systems' conventions. Update documentation and tests accordingly. Reviewed-by: Richard Laager <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Ryan Moeller <[email protected]> Closes #10030
Diffstat (limited to 'tests')
-rw-r--r--tests/runfiles/common.run2
-rw-r--r--tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am2
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_006_pos.ksh38
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_008_pos.ksh3
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_pos.ksh (renamed from tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_neg.ksh)23
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_all_fail.ksh27
6 files changed, 41 insertions, 54 deletions
diff --git a/tests/runfiles/common.run b/tests/runfiles/common.run
index ea26a3ae3..f2107f47b 100644
--- a/tests/runfiles/common.run
+++ b/tests/runfiles/common.run
@@ -181,7 +181,7 @@ tags = ['functional', 'cli_root', 'zfs_load-key']
tests = ['zfs_mount_001_pos', 'zfs_mount_002_pos', 'zfs_mount_003_pos',
'zfs_mount_004_pos', 'zfs_mount_005_pos', 'zfs_mount_007_pos',
'zfs_mount_009_neg', 'zfs_mount_010_neg', 'zfs_mount_011_neg',
- 'zfs_mount_012_neg', 'zfs_mount_all_001_pos', 'zfs_mount_encrypted',
+ 'zfs_mount_012_pos', 'zfs_mount_all_001_pos', 'zfs_mount_encrypted',
'zfs_mount_remount', 'zfs_mount_all_fail', 'zfs_mount_all_mountpoints',
'zfs_mount_test_race']
tags = ['functional', 'cli_root', 'zfs_mount']
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am
index 8a137b830..37c094238 100644
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am
@@ -13,7 +13,7 @@ dist_pkgdata_SCRIPTS = \
zfs_mount_009_neg.ksh \
zfs_mount_010_neg.ksh \
zfs_mount_011_neg.ksh \
- zfs_mount_012_neg.ksh \
+ zfs_mount_012_pos.ksh \
zfs_mount_all_001_pos.ksh \
zfs_mount_all_fail.ksh \
zfs_mount_all_mountpoints.ksh \
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_006_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_006_pos.ksh
index 5c954354d..5edce35c7 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_006_pos.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_006_pos.ksh
@@ -35,22 +35,20 @@
#
# DESCRIPTION:
-# Invoke "zfs mount <filesystem>" with a filesystem
-# mountpoint that is identical to an existing one.
-# It will fail with a return code of 1. For Linux,
-# place a file in the directory to ensure the failure.
-# Also for Linux, test overlay=off (default) in which case
-# the mount will fail, and overlay=on, where the mount
-# will succeed.
+# Invoke "zfs mount <filesystem>" with a filesystem mountpoint that is
+# identical to an existing one. It will fail with a return code of 1
+# when overlay=off. Place a file in the directory to ensure the failure.
+# Also test overlay=on (default) in which case the mount will not fail.
#
# STRATEGY:
# 1. Prepare an existing mounted filesystem.
-# 2. Setup a new filesystem and make sure that it is unmounted.
-# 3. For Linux, place a file in the mount point folder.
-# 4. Mount the new filesystem using the various combinations
-# - zfs set mountpoint=<identical path> <filesystem>
-# - zfs set mountpoint=<top path> <filesystem>
-# 5. Verify that mount failed with return code of 1.
+# 2. Setup a new filesystem with overlay=off and make sure that it is
+# unmounted.
+# 3. Place a file in the mount point folder.
+# 4. Mount the new filesystem using the various combinations
+# - zfs set mountpoint=<identical path> <filesystem>
+# - zfs set mountpoint=<top path> <filesystem>
+# 5. Verify that mount failed with return code of 1.
# 6. For Linux, also set overlay=on and verify the mount is
# allowed.
#
@@ -76,7 +74,7 @@ typeset -i ret=0
log_assert "Verify that 'zfs $mountcmd <filesystem>'" \
"where the mountpoint is identical or on top of an existing one" \
- "will fail with return code 1."
+ "will fail with return code 1 when overlay=off."
log_onexit cleanup
@@ -98,8 +96,8 @@ done
log_must zfs set mountpoint=$mtpt $TESTPOOL/$TESTFS
log_must zfs $mountcmd $TESTPOOL/$TESTFS
-if is_linux; then
- log_must zfs set overlay=off $TESTPOOL/$TESTFS
+log_must zfs set overlay=off $TESTPOOL/$TESTFS
+if ! is_illumos; then
touch $mtpt/file.1
log_must ls -l $mtpt | grep file
fi
@@ -107,7 +105,7 @@ fi
mounted $TESTPOOL/$TESTFS || \
log_unresolved "Filesystem $TESTPOOL/$TESTFS is unmounted"
-log_must zfs create $TESTPOOL/$TESTFS1
+log_must zfs create -o overlay=off $TESTPOOL/$TESTFS1
unmounted $TESTPOOL/$TESTFS1 || \
log_must force_unmount $TESTPOOL/$TESTFS1
@@ -123,9 +121,9 @@ while [[ $depth -gt 0 ]] ; do
log_mustnot zfs $mountcmd $TESTPOOL/$TESTFS1
- # For Linux, test the overlay=on feature which allows
- # mounting of non-empty directory.
- if is_linux; then
+ if ! is_illumos; then
+ # Test the overlay=on feature which allows
+ # mounting of non-empty directory.
log_must zfs set overlay=on $TESTPOOL/$TESTFS1
log_must zfs $mountcmd $TESTPOOL/$TESTFS1
log_must force_unmount $TESTPOOL/$TESTFS1
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_008_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_008_pos.ksh
index 84835a0d6..4b3bf40bc 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_008_pos.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_008_pos.ksh
@@ -73,7 +73,8 @@ log_must mkfile 1M $testfile $testfile1
log_must zfs unmount $fs1
log_must zfs set mountpoint=$mntpnt $fs1
-log_mustnot zfs mount $fs1
+log_must zfs mount $fs1
+log_must zfs unmount $fs1
log_must zfs mount -O $fs1
# Create new file in override mountpoint
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_pos.ksh
index 3e6799aa0..5ff094d2c 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_neg.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_pos.ksh
@@ -18,9 +18,6 @@
#
# DESCRIPTION:
-# Linux:
-# Verify that zfs mount fails with a non-empty directory
-# FreeSD:
# Verify that zfs mount succeeds with a non-empty directory
#
@@ -34,18 +31,12 @@
# 6. Unmount the dataset
# 7. Create a file in the directory created in step 2
# 8. Attempt to mount the dataset
-# 9. Verify the mount fails
+# 9. Verify the mount succeeds
#
verify_runnable "both"
-if is_linux; then
- behaves="fails"
-else
- behaves="succeeds"
-fi
-
-log_assert "zfs mount $behaves with non-empty directory"
+log_assert "zfs mount succeeds with non-empty directory"
fs=$TESTPOOL/$TESTFS
@@ -55,12 +46,8 @@ log_must zfs set mountpoint=$TESTDIR $fs
log_must zfs mount $fs
log_must zfs umount $fs
log_must touch $TESTDIR/testfile.$$
-if is_linux; then
- log_mustnot zfs mount $fs
-else
- log_must zfs mount $fs
- log_must zfs umount $fs
-fi
+log_must zfs mount $fs
+log_must zfs umount $fs
log_must rm -rf $TESTDIR
-log_pass "zfs mount $behaves with non-empty directory as expected."
+log_pass "zfs mount succeeds with non-empty directory as expected."
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_all_fail.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_all_fail.ksh
index 93a47d7d6..d1103bddc 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_all_fail.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_all_fail.ksh
@@ -30,8 +30,8 @@
# 1. Create zfs filesystems
# 2. Unmount a leaf filesystem
# 3. Create a file in the above filesystem's mountpoint
-# 4. Verify that 'zfs mount -a' fails to mount the above if on Linux
-# or succeeds if on FreeBSD
+# 4. Verify that 'zfs mount -a' succeeds if overlay=on and
+# fails to mount the above if overlay=off
# 5. Verify that all other filesystems were mounted
#
@@ -83,17 +83,18 @@ done
# Create a stray file in one filesystem's mountpoint
touch $path/0/strayfile
-# Verify that zfs mount -a fails on Linux or succeeds on FreeBSD
export __ZFS_POOL_RESTRICT="$TESTPOOL"
-if is_linux; then
- log_mustnot zfs $mountall
- log_mustnot mounted "$TESTPOOL/0"
- typeset behaved="failed"
-else
- log_must zfs $mountall
- log_must mounted "$TESTPOOL/0"
- typeset behaved="succeeded"
-fi
+
+# Verify that zfs mount -a succeeds with overlay=on (default)
+log_must zfs $mountall
+log_must mounted "$TESTPOOL/0"
+log_must zfs $unmountall
+
+# Verify that zfs mount -a succeeds with overlay=off
+log_must zfs set overlay=off "$TESTPOOL/0"
+log_mustnot zfs $mountall
+log_mustnot mounted "$TESTPOOL/0"
+
unset __ZFS_POOL_RESTRICT
# All other filesystems should be mounted
@@ -101,4 +102,4 @@ for ((i=1; i<$fscount; i++)); do
log_must mounted "$TESTPOOL/$i"
done
-log_pass "'zfs $mountall' $behaved as expected."
+log_pass "'zfs $mountall' behaves as expected."