Enable block_cloning tests on FreeBSD

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Pawel Jakub Dawidek <pawel@dawidek.net>
Closes #15749
This commit is contained in:
Brian Behlendorf
2024-01-12 11:57:13 -08:00
committed by GitHub
parent 20dd16d9f7
commit c4fa674367
12 changed files with 35 additions and 29 deletions
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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"
@@ -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
@@ -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