58 lines
1.9 KiB
Diff
58 lines
1.9 KiB
Diff
From 123c87b3c2d75636da79f57a4b0ed60d2a3133a8 Mon Sep 17 00:00:00 2001
|
|
From: Georgy Yakovlev <gyakovlev@gentoo.org>
|
|
Date: Mon, 20 Dec 2021 12:25:11 -0800
|
|
Subject: [PATCH] zfs-test/mmap_seek: fix build on musl
|
|
|
|
it needs linux/fs.h for SEEK_DATA and friends
|
|
|
|
without linux/fs.h:
|
|
|
|
```
|
|
mmap_seek.c
|
|
mmap_seek.c: In function 'seek_data':
|
|
mmap_seek.c:37:40: error: 'SEEK_DATA' undeclared (first use in this function);
|
|
did you mean 'SEEK_SET'?
|
|
37 | off_t data_offset = lseek(fd, offset, SEEK_DATA);
|
|
```
|
|
|
|
also it needs sys/sysmacros.h for P2ROUNDUP
|
|
without it:
|
|
|
|
```
|
|
mmap_seek.c: In function 'main':
|
|
mmap_seek.c:122:19: warning:
|
|
implicit declaration of function 'P2ROUNDUP' [-Wimplicit-function-declaration]
|
|
122 | seek_hole(fd, 0, P2ROUNDUP(file_size / 2, block_size));
|
|
| ^~~~~~~~~
|
|
powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.o: in function `main':
|
|
mmap_seek.c:(.text.startup+0x1b8): undefined reference to `P2ROUNDUP'
|
|
powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x1d8):
|
|
undefined reference to `P2ROUNDUP'
|
|
powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x21c):
|
|
undefined reference to `P2ROUNDUP'
|
|
collect2: error: ld returned 1 exit status
|
|
make[5]: *** [Makefile:754: mmap_seek] Error 1
|
|
```
|
|
|
|
Closes: https://github.com/openzfs/zfs/pull/12891
|
|
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
|
|
---
|
|
tests/zfs-tests/cmd/mmap_seek/mmap_seek.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
|
|
index f476e1dba9a..bb36527aafe 100644
|
|
--- a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
|
|
+++ b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
|
|
@@ -29,7 +29,11 @@
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <sys/mman.h>
|
|
+#include <sys/sysmacros.h>
|
|
#include <errno.h>
|
|
+#ifdef __linux__
|
|
+#include <linux/fs.h>
|
|
+#endif
|
|
|
|
static void
|
|
seek_data(int fd, off_t offset, off_t expected)
|