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>
This commit is contained in:
Tino Reichardt 2024-08-04 11:58:13 +02:00
parent c8184d714b
commit 2ccefd4aff
2 changed files with 17 additions and 0 deletions

View File

@ -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)
{

View File

@ -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];