12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- From 2ccefd4aff98cf355c7d13b3f92bb4d390dfa522 Mon Sep 17 00:00:00 2001
- From: Tino Reichardt <milky-zfs@mcmilk.de>
- Date: Sun, 4 Aug 2024 11:58:13 +0200
- Subject: [PATCH] ZTS: small fix for SEEK_DATA/SEEK_HOLE tests
- 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 <milky-zfs@mcmilk.de>
- Signed-off-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>
- Upstream: https://github.com/openzfs/zfs/commit/bd949b10bed3d99e3b40249d9c8d74a0b4304774
- ---
- 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 7be92d109565..2d250554a13f 100644
- --- a/tests/zfs-tests/cmd/mmap_seek.c
- +++ b/tests/zfs-tests/cmd/mmap_seek.c
- @@ -35,6 +35,16 @@
- #include <linux/fs.h>
- #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 02c2c8e6eca5..f832db85970d 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 <sys/stat.h>
- #include <sys/wait.h>
-
- +/* 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];
-
|