void-packages/srcpkgs/zfs/patches/musl-seek-constants.patch
2021-12-24 13:03:28 -05:00

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)