71 lines
2.1 KiB
Diff
71 lines
2.1 KiB
Diff
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];
|
|
|