aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/runfiles/common.run11
-rw-r--r--tests/runfiles/linux.run14
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_cross_dataset.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_partial.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_disabled_copyfilerange.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh7
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh9
-rwxr-xr-xtests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh9
12 files changed, 35 insertions, 29 deletions
diff --git a/tests/runfiles/common.run b/tests/runfiles/common.run
index f94a5fba9..13d831283 100644
--- a/tests/runfiles/common.run
+++ b/tests/runfiles/common.run
@@ -71,6 +71,17 @@ tests = ['bclone_crossfs_corner_cases_limited',
tags = ['functional', 'bclone']
timeout = 7200
+[tests/functional/block_cloning]
+tests = ['block_cloning_copyfilerange', 'block_cloning_copyfilerange_partial',
+ 'block_cloning_copyfilerange_fallback',
+ 'block_cloning_disabled_copyfilerange',
+ 'block_cloning_copyfilerange_cross_dataset',
+ 'block_cloning_cross_enc_dataset',
+ 'block_cloning_copyfilerange_fallback_same_txg',
+ 'block_cloning_replay', 'block_cloning_replay_encrypted',
+ 'block_cloning_lwb_buffer_overflow']
+tags = ['functional', 'block_cloning']
+
[tests/functional/bootfs]
tests = ['bootfs_001_pos', 'bootfs_002_neg', 'bootfs_003_pos',
'bootfs_004_neg', 'bootfs_005_neg', 'bootfs_006_pos', 'bootfs_007_pos',
diff --git a/tests/runfiles/linux.run b/tests/runfiles/linux.run
index c7c17f271..6a4cd3fe6 100644
--- a/tests/runfiles/linux.run
+++ b/tests/runfiles/linux.run
@@ -35,17 +35,9 @@ tests = ['atime_003_pos', 'root_relatime_on']
tags = ['functional', 'atime']
[tests/functional/block_cloning:Linux]
-tests = ['block_cloning_copyfilerange', 'block_cloning_copyfilerange_partial',
- 'block_cloning_copyfilerange_fallback',
- 'block_cloning_ficlone', 'block_cloning_ficlonerange',
- 'block_cloning_ficlonerange_partial',
- 'block_cloning_disabled_copyfilerange', 'block_cloning_disabled_ficlone',
- 'block_cloning_disabled_ficlonerange',
- 'block_cloning_copyfilerange_cross_dataset',
- 'block_cloning_cross_enc_dataset',
- 'block_cloning_copyfilerange_fallback_same_txg',
- 'block_cloning_replay', 'block_cloning_replay_encrypted',
- 'block_cloning_lwb_buffer_overflow']
+tests = ['block_cloning_ficlone', 'block_cloning_ficlonerange',
+ 'block_cloning_ficlonerange_partial', 'block_cloning_disabled_ficlone',
+ 'block_cloning_disabled_ficlonerange']
tags = ['functional', 'block_cloning']
[tests/functional/chattr:Linux]
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange.ksh
index 43ea47b0e..0599739ab 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange.ksh
@@ -29,7 +29,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_cross_dataset.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_cross_dataset.ksh
index 74e6b0490..43323c207 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_cross_dataset.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_cross_dataset.ksh
@@ -29,7 +29,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "5.3") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "5.3") ]]; then
log_unsupported "copy_file_range can't copy cross-filesystem before Linux 5.3"
fi
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback.ksh
index 9a96eacd6..475910be7 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback.ksh
@@ -30,7 +30,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh
index e52b34ec8..00982f68d 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh
@@ -30,7 +30,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_partial.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_partial.ksh
index a5da0a0bd..38c46e474 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_partial.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_partial.ksh
@@ -29,7 +29,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh
index fe8f0867b..34d3d2692 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh
@@ -29,7 +29,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "5.3") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "5.3") ]]; then
log_unsupported "copy_file_range can't copy cross-filesystem before Linux 5.3"
fi
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_disabled_copyfilerange.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_disabled_copyfilerange.ksh
index d21b62511..3d916ab92 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_disabled_copyfilerange.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_disabled_copyfilerange.ksh
@@ -29,7 +29,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh
index 0ae76b7e5..919f320de 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh
@@ -45,7 +45,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
@@ -77,13 +77,14 @@ log_must zfs create -o recordsize=32K $TESTPOOL/$TESTFS
log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS/file1 bs=32K count=1022 \
conv=fsync
sync_pool $TESTPOOL
-log_must clonefile -c /$TESTPOOL/$TESTFS/file1 /$TESTPOOL/$TESTFS/file2
+log_must clonefile -f /$TESTPOOL/$TESTFS/file1 /$TESTPOOL/$TESTFS/file2
log_must sync
sync_pool $TESTPOOL
log_must have_same_content /$TESTPOOL/$TESTFS/file1 /$TESTPOOL/$TESTFS/file2
typeset blocks=$(get_same_blocks $TESTPOOL/$TESTFS file1 $TESTPOOL/$TESTFS file2)
-log_must [ "$blocks" = "$(seq -s " " 0 1021)" ]
+# FreeBSD's seq(1) leaves a trailing space, remove it with sed(1).
+log_must [ "$blocks" = "$(seq -s " " 0 1021 | sed 's/ $//')" ]
log_pass "LWB buffer overflow is not triggered with multiple VDEVs ZIL"
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh
index 1fdf379ed..530152004 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh
@@ -42,7 +42,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
@@ -90,8 +90,8 @@ log_must zpool freeze $TESTPOOL
#
# 4. TX_CLONE_RANGE: Clone the file
#
-log_must clonefile -c /$TESTPOOL/$TESTFS/file1 /$TESTPOOL/$TESTFS/clone1
-log_must clonefile -c /$TESTPOOL/$TESTFS/file2 /$TESTPOOL/$TESTFS/clone2
+log_must clonefile -f /$TESTPOOL/$TESTFS/file1 /$TESTPOOL/$TESTFS/clone1
+log_must clonefile -f /$TESTPOOL/$TESTFS/file2 /$TESTPOOL/$TESTFS/clone2
#
# 5. Unmount filesystem and export the pool
@@ -126,6 +126,7 @@ log_must [ "$blocks" = "0 1 2 3" ]
typeset blocks=$(get_same_blocks $TESTPOOL/$TESTFS file2 \
$TESTPOOL/$TESTFS clone2)
-log_must [ "$blocks" = "$(seq -s " " 0 2047)" ]
+# FreeBSD's seq(1) leaves a trailing space, remove it with sed(1).
+log_must [ "$blocks" = "$(seq -s " " 0 2047 | sed 's/ $//')" ]
log_pass $claim
diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh
index f9f687c83..0967415b7 100755
--- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh
+++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh
@@ -42,7 +42,7 @@
verify_runnable "global"
-if [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
+if is_linux && [[ $(linux_version) -lt $(linux_version "4.5") ]]; then
log_unsupported "copy_file_range not available before Linux 4.5"
fi
@@ -92,8 +92,8 @@ log_must zpool freeze $TESTPOOL
#
# 4. TX_CLONE_RANGE: Clone the file
#
-log_must clonefile -c /$TESTPOOL/$TESTFS/file1 /$TESTPOOL/$TESTFS/clone1
-log_must clonefile -c /$TESTPOOL/$TESTFS/file2 /$TESTPOOL/$TESTFS/clone2
+log_must clonefile -f /$TESTPOOL/$TESTFS/file1 /$TESTPOOL/$TESTFS/clone1
+log_must clonefile -f /$TESTPOOL/$TESTFS/file2 /$TESTPOOL/$TESTFS/clone2
#
# 5. Unmount filesystem and export the pool
@@ -128,6 +128,7 @@ log_must [ "$blocks" = "0 1 2 3" ]
typeset blocks=$(get_same_blocks $TESTPOOL/$TESTFS file2 \
$TESTPOOL/$TESTFS clone2 $PASSPHRASE)
-log_must [ "$blocks" = "$(seq -s " " 0 2047)" ]
+# FreeBSD's seq(1) leaves a trailing space, remove it with sed(1).
+log_must [ "$blocks" = "$(seq -s " " 0 2047 | sed 's/ $//')" ]
log_pass $claim