]>
Commit | Line | Data |
---|---|---|
48ef8ba0 BB |
1 | dnl # |
2 | dnl # 4.14 API change | |
3 | dnl # kernel_write() which was introduced in 3.9 was updated to take | |
4 | dnl # the offset as a pointer which is needed by vn_rdwr(). | |
5 | dnl # | |
6 | AC_DEFUN([SPL_AC_KERNEL_WRITE], [ | |
7 | AC_MSG_CHECKING([whether kernel_write() takes loff_t pointer]) | |
8 | tmp_flags="$EXTRA_KCFLAGS" | |
9 | EXTRA_KCFLAGS="-Werror" | |
10 | SPL_LINUX_TRY_COMPILE([ | |
11 | #include <linux/fs.h> | |
12 | ],[ | |
13 | struct file *file = NULL; | |
14 | const void *buf = NULL; | |
15 | size_t count = 0; | |
16 | loff_t *pos = NULL; | |
17 | ssize_t ret; | |
18 | ||
19 | ret = kernel_write(file, buf, count, pos); | |
20 | ],[ | |
21 | AC_MSG_RESULT(yes) | |
22 | AC_DEFINE(HAVE_KERNEL_WRITE_PPOS, 1, | |
23 | [kernel_write() take loff_t pointer]) | |
24 | ],[ | |
25 | AC_MSG_RESULT(no) | |
26 | ]) | |
27 | EXTRA_KCFLAGS="$tmp_flags" | |
28 | ]) | |
29 | ||
30 | dnl # | |
31 | dnl # 4.14 API change | |
32 | dnl # kernel_read() which has existed for forever was updated to take | |
33 | dnl # the offset as a pointer which is needed by vn_rdwr(). | |
34 | dnl # | |
35 | AC_DEFUN([SPL_AC_KERNEL_READ], [ | |
36 | AC_MSG_CHECKING([whether kernel_read() takes loff_t pointer]) | |
37 | tmp_flags="$EXTRA_KCFLAGS" | |
38 | EXTRA_KCFLAGS="-Werror" | |
39 | SPL_LINUX_TRY_COMPILE([ | |
40 | #include <linux/fs.h> | |
41 | ],[ | |
42 | struct file *file = NULL; | |
43 | void *buf = NULL; | |
44 | size_t count = 0; | |
45 | loff_t *pos = NULL; | |
46 | ssize_t ret; | |
47 | ||
48 | ret = kernel_read(file, buf, count, pos); | |
49 | ],[ | |
50 | AC_MSG_RESULT(yes) | |
51 | AC_DEFINE(HAVE_KERNEL_READ_PPOS, 1, | |
52 | [kernel_read() take loff_t pointer]) | |
53 | ],[ | |
54 | AC_MSG_RESULT(no) | |
55 | ]) | |
56 | EXTRA_KCFLAGS="$tmp_flags" | |
57 | ]) |