summaryrefslogtreecommitdiff
path: root/sys-fs/zfs/files/2.1.2-musl-tests.patch
blob: 3d2c563f8c5111738eb620ce4a86ddd950cbc7b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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)