forked from buildroot/buildroot
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This update addresses the issue of uClibc support by skipping ZFS tests that require SEEK_DATA support. This is a work-in-progress patch while we wait for an upstream fix. Current upstream efforts can be followed here: openzfs/zfs#16169 Context: - OpenZFS includes a test for a bug that occurs when copying a large number of PUNCHED files. - OpenZFS has backported this test to v2.2.x. - uClibc does not support SEEK_DATA and SEEK_HOLE. - The ZFS test `cp_stress` can not be compiled using uClibc. This commit fix: - https://gitlab.com/buildroot.org/buildroot/-/jobs/7391793226 Signed-off-by: José Luis Salvador Rufo <[email protected]> Signed-off-by: Thomas Petazzoni <[email protected]> (cherry picked from commit f17fa2c) Signed-off-by: Peter Korsgaard <[email protected]>
- Loading branch information
1 parent
301f0dc
commit 3077e2c
Showing
2 changed files
with
163 additions
and
1 deletion.
There are no files selected for viewing
162 changes: 162 additions & 0 deletions
162
package/zfs/0001-tests-cp_files-ignore-if-SEEK_DATA-is-not-defined.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
From 93e7f8889072047276da11fe6a525d3f0ea16205 Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Jos=C3=A9=20Luis=20Salvador=20Rufo?= | ||
<[email protected]> | ||
Date: Sat, 11 May 2024 22:40:12 +0200 | ||
Subject: [PATCH] tests/cp_files: ignore if SEEK_DATA is not defined | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Not all C libraries support SEEK_DATA (e.g., uClibc). Skip the test case | ||
cp_files if SEEK_DATA is not defined. | ||
|
||
Signed-off-by: José Luis Salvador Rufo <[email protected]> | ||
Upstream: https://github.com/openzfs/zfs/pull/16169 | ||
--- | ||
config/user-unistd.m4 | 24 ++++++++++++++++++++++++ | ||
config/user.m4 | 1 + | ||
config/zfs-build.m4 | 1 + | ||
tests/test-runner/bin/zts-report.py.in | 1 + | ||
tests/zfs-tests/Makefile.am | 2 ++ | ||
tests/zfs-tests/cmd/Makefile.am | 6 +++++- | ||
tests/zfs-tests/tests/Makefile.am | 14 +++++++++----- | ||
7 files changed, 43 insertions(+), 6 deletions(-) | ||
create mode 100644 config/user-unistd.m4 | ||
|
||
diff --git a/config/user-unistd.m4 b/config/user-unistd.m4 | ||
new file mode 100644 | ||
index 000000000..302bc0bde | ||
--- /dev/null | ||
+++ b/config/user-unistd.m4 | ||
@@ -0,0 +1,24 @@ | ||
+dnl # | ||
+dnl # Check for SEEK_DATA - only used for cp_files/seekflood test case. | ||
+dnl # | ||
+AC_DEFUN([ZFS_AC_CONFIG_USER_UNISTD_SEEK_DATA], [ | ||
+ AC_MSG_CHECKING(whether host toolchain supports SEEK_DATA) | ||
+ | ||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | ||
+ #ifndef _GNU_SOURCE | ||
+ #define _GNU_SOURCE | ||
+ #endif | ||
+ #include <unistd.h> | ||
+ #if defined(SEEK_DATA) | ||
+ int ok; | ||
+ #else | ||
+ error fail | ||
+ #endif | ||
+ ]])], [ | ||
+ user_unistd_seek_data=yes | ||
+ AC_MSG_RESULT([yes]) | ||
+ ], [ | ||
+ user_unistd_seek_data=no | ||
+ AC_MSG_RESULT([no]) | ||
+ ]) | ||
+]) | ||
diff --git a/config/user.m4 b/config/user.m4 | ||
index 6ec27a5b2..2326a44be 100644 | ||
--- a/config/user.m4 | ||
+++ b/config/user.m4 | ||
@@ -23,6 +23,7 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [ | ||
ZFS_AC_CONFIG_USER_LIBAIO | ||
ZFS_AC_CONFIG_USER_LIBATOMIC | ||
ZFS_AC_CONFIG_USER_LIBFETCH | ||
+ ZFS_AC_CONFIG_USER_UNISTD_SEEK_DATA | ||
ZFS_AC_CONFIG_USER_AIO_H | ||
ZFS_AC_CONFIG_USER_CLOCK_GETTIME | ||
ZFS_AC_CONFIG_USER_PAM | ||
diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 | ||
index bb5a85d81..578692676 100644 | ||
--- a/config/zfs-build.m4 | ||
+++ b/config/zfs-build.m4 | ||
@@ -294,6 +294,7 @@ AC_DEFUN([ZFS_AC_CONFIG], [ | ||
[test "x$qatsrc" != x ]) | ||
AM_CONDITIONAL([WANT_DEVNAME2DEVID], [test "x$user_libudev" = xyes ]) | ||
AM_CONDITIONAL([WANT_MMAP_LIBAIO], [test "x$user_libaio" = xyes ]) | ||
+ AM_CONDITIONAL([WANT_UNISTD_SEEK_DATA], [test "x$user_unistd_seek_data" = xyes ]) | ||
AM_CONDITIONAL([PAM_ZFS_ENABLED], [test "x$enable_pam" = xyes]) | ||
]) | ||
|
||
diff --git a/tests/test-runner/bin/zts-report.py.in b/tests/test-runner/bin/zts-report.py.in | ||
index ecc50f487..3a00345ed 100755 | ||
--- a/tests/test-runner/bin/zts-report.py.in | ||
+++ b/tests/test-runner/bin/zts-report.py.in | ||
@@ -162,6 +162,7 @@ known = { | ||
['FAIL', rewind_reason], | ||
'cli_user/misc/zfs_share_001_neg': ['SKIP', na_reason], | ||
'cli_user/misc/zfs_unshare_001_neg': ['SKIP', na_reason], | ||
+ 'cp_files/cp_stress': ['SKIP', 16169], | ||
'pool_checkpoint/checkpoint_discard_busy': ['SKIP', 12053], | ||
'privilege/setup': ['SKIP', na_reason], | ||
'refreserv/refreserv_004_pos': ['FAIL', known_reason], | ||
diff --git a/tests/zfs-tests/Makefile.am b/tests/zfs-tests/Makefile.am | ||
index 3dd1a6452..8ae790057 100644 | ||
--- a/tests/zfs-tests/Makefile.am | ||
+++ b/tests/zfs-tests/Makefile.am | ||
@@ -13,8 +13,10 @@ scripts_zfs_tests_functional_hkdf_PROGRAMS = %D%/tests/functional/hkdf/hkdf_test | ||
%C%_tests_functional_hkdf_hkdf_test_LDADD = \ | ||
libzpool.la | ||
|
||
+if WANT_UNISTD_SEEK_DATA | ||
scripts_zfs_tests_functional_cp_filesdir = $(datadir)/$(PACKAGE)/zfs-tests/tests/functional/cp_files | ||
scripts_zfs_tests_functional_cp_files_PROGRAMS = %D%/tests/functional/cp_files/seekflood | ||
+endif | ||
|
||
if BUILD_LINUX | ||
scripts_zfs_tests_functional_tmpfiledir = $(datadir)/$(PACKAGE)/zfs-tests/tests/functional/tmpfile | ||
diff --git a/tests/zfs-tests/cmd/Makefile.am b/tests/zfs-tests/cmd/Makefile.am | ||
index 23848a82f..69bba3039 100644 | ||
--- a/tests/zfs-tests/cmd/Makefile.am | ||
+++ b/tests/zfs-tests/cmd/Makefile.am | ||
@@ -5,7 +5,6 @@ scripts_zfs_tests_bin_PROGRAMS = %D%/chg_usr_exec | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/clonefile | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/clone_mmap_cached | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/clone_mmap_write | ||
-scripts_zfs_tests_bin_PROGRAMS += %D%/cp_files | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/ctime | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/dir_rd_update | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/dosmode_readonly_write | ||
@@ -16,6 +15,11 @@ scripts_zfs_tests_bin_PROGRAMS += %D%/truncate_test | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/zfs_diff-socket | ||
|
||
|
||
+if WANT_UNISTD_SEEK_DATA | ||
+scripts_zfs_tests_bin_PROGRAMS += %D%/cp_files | ||
+endif | ||
+ | ||
+ | ||
scripts_zfs_tests_bin_PROGRAMS += %D%/badsend | ||
%C%_badsend_LDADD = \ | ||
libzfs_core.la \ | ||
diff --git a/tests/zfs-tests/tests/Makefile.am b/tests/zfs-tests/tests/Makefile.am | ||
index cc66d762f..1e9f06a7e 100644 | ||
--- a/tests/zfs-tests/tests/Makefile.am | ||
+++ b/tests/zfs-tests/tests/Makefile.am | ||
@@ -1394,11 +1394,6 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ | ||
functional/compression/l2arc_encrypted.ksh \ | ||
functional/compression/l2arc_encrypted_no_compressed_arc.ksh \ | ||
functional/compression/setup.ksh \ | ||
- functional/cp_files/cleanup.ksh \ | ||
- functional/cp_files/cp_files_001_pos.ksh \ | ||
- functional/cp_files/cp_files_002_pos.ksh \ | ||
- functional/cp_files/cp_stress.ksh \ | ||
- functional/cp_files/setup.ksh \ | ||
functional/crtime/cleanup.ksh \ | ||
functional/crtime/crtime_001_pos.ksh \ | ||
functional/crtime/setup.ksh \ | ||
@@ -2108,3 +2103,12 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ | ||
functional/idmap_mount/idmap_mount_003.ksh \ | ||
functional/idmap_mount/idmap_mount_004.ksh \ | ||
functional/idmap_mount/idmap_mount_005.ksh | ||
+ | ||
+if WANT_UNISTD_SEEK_DATA | ||
+nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ | ||
+ functional/cp_files/cleanup.ksh \ | ||
+ functional/cp_files/cp_files_001_pos.ksh \ | ||
+ functional/cp_files/cp_files_002_pos.ksh \ | ||
+ functional/cp_files/cp_stress.ksh \ | ||
+ functional/cp_files/setup.ksh | ||
+endif | ||
-- | ||
2.45.2 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters