From bd949b10bed3d99e3b40249d9c8d74a0b4304774 Mon Sep 17 00:00:00 2001 From: Tino Reichardt Date: Wed, 7 Aug 2024 18:52:37 +0200 Subject: [PATCH] ZTS: small fix for SEEK_DATA/SEEK_HOLE tests (#16413) Some libc's like uClibc lag the proper definition of SEEK_DATA and SEEK_HOLE. Since we have only two files in ZTS which use these definitons, let's define them by hand: ``` #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif ``` There should be no failures, because: - FreeBSD has support for SEEK_DATA/SEEK_HOLE since FreeBSD 8 - Linux has it since Linux 3.1 - the libc will submit the parameters unchanged to the kernel Signed-off-by: Tino Reichardt Reviewed-by: Tony Hutter Reviewed-by: Brian Behlendorf --- tests/zfs-tests/cmd/mmap_seek.c | 10 ++++++++++ tests/zfs-tests/tests/functional/cp_files/seekflood.c | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/tests/zfs-tests/cmd/mmap_seek.c b/tests/zfs-tests/cmd/mmap_seek.c index 7be92d1095..2d250554a1 100644 --- a/tests/zfs-tests/cmd/mmap_seek.c +++ b/tests/zfs-tests/cmd/mmap_seek.c @@ -35,6 +35,16 @@ #include #endif +/* some older uClibc's lack the defines, so we'll manually define them */ +#ifdef __UCLIBC__ +#ifndef SEEK_DATA +#define SEEK_DATA 3 +#endif +#ifndef SEEK_HOLE +#define SEEK_HOLE 4 +#endif +#endif + static void seek_data(int fd, off_t offset, off_t expected) { diff --git a/tests/zfs-tests/tests/functional/cp_files/seekflood.c b/tests/zfs-tests/tests/functional/cp_files/seekflood.c index 02c2c8e6ec..f832db8597 100644 --- a/tests/zfs-tests/tests/functional/cp_files/seekflood.c +++ b/tests/zfs-tests/tests/functional/cp_files/seekflood.c @@ -36,6 +36,13 @@ #include #include +/* some older uClibc's lack the defines, so we'll manually define them */ +#ifdef __UCLIBC__ +#ifndef SEEK_DATA +#define SEEK_DATA 3 +#endif +#endif + #define DATASIZE (4096) char data[DATASIZE];