aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorTomohiro Kusumi <[email protected]>2019-05-05 08:40:48 +0900
committerBrian Behlendorf <[email protected]>2019-05-04 16:40:48 -0700
commitde3e0b914b28deaf9034656d8f6e0bdf9ccd7c7f (patch)
tree6b41b5e17cd7a41680de5212982a55546c06b8cf /config
parent1eacf2b3b0a1d3bccaab83dece44d671ba30292d (diff)
Linux 5.0 compat: Use totalhigh_pages()
Linux kernel commit ca79b0c211af63fa3276f0e3fd7dd9ada2439839 "mm: convert totalram_pages and totalhigh_pages variables to atomic" replaced `totalhigh_pages` with an inline function `totalhigh_pages()`. This broke compilation on IA32, etc, as ZoL uses `totalhigh_pages` on archs with highmem. Confirmed on Fedora 30 (5.0.9-301.fc30.i686). Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Tomohiro Kusumi <[email protected]> Closes #8677 Closes #8701
Diffstat (limited to 'config')
-rw-r--r--config/kernel-totalhigh_pages.m419
-rw-r--r--config/kernel.m41
2 files changed, 20 insertions, 0 deletions
diff --git a/config/kernel-totalhigh_pages.m4 b/config/kernel-totalhigh_pages.m4
new file mode 100644
index 000000000..b22e86d4d
--- /dev/null
+++ b/config/kernel-totalhigh_pages.m4
@@ -0,0 +1,19 @@
+dnl #
+dnl # 5.0 API change
+dnl #
+dnl # ca79b0c211af mm: convert totalram_pages and totalhigh_pages variables to atomic
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_TOTALHIGH_PAGES], [
+ AC_MSG_CHECKING([whether totalhigh_pages() exists])
+ ZFS_LINUX_TRY_COMPILE([
+ #include <linux/highmem.h>
+ ],[
+ unsigned long pages __attribute__ ((unused));
+ pages = totalhigh_pages();
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_TOTALHIGH_PAGES, 1, [totalhigh_pages() exists])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
diff --git a/config/kernel.m4 b/config/kernel.m4
index f7d657e0c..026a5258f 100644
--- a/config/kernel.m4
+++ b/config/kernel.m4
@@ -164,6 +164,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
ZFS_AC_KERNEL_IN_COMPAT_SYSCALL
ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
ZFS_AC_KERNEL_TOTALRAM_PAGES_FUNC
+ ZFS_AC_KERNEL_TOTALHIGH_PAGES
ZFS_AC_KERNEL_BLK_QUEUE_DISCARD
ZFS_AC_KERNEL_BLK_QUEUE_SECURE_ERASE