Whamcloud - gitweb
LU-8560 libcfs: handle page_cache_*() removal in newer kernels
[fs/lustre-release.git] / libcfs / autoconf / lustre-libcfs.m4
index b559798..238396a 100644 (file)
@@ -358,6 +358,24 @@ stacktrace_ops_address_return_int, [
 ]) # LIBCFS_STACKTRACE_OPS_ADDRESS_RETURN_INT
 
 #
+# Kernel version 4.6 removed both struct task_struct and struct mm_struct
+# arguments to get_user_pages
+#
+AC_DEFUN([LIBCFS_GET_USER_PAGES_6ARG], [
+LB_CHECK_COMPILE([if 'get_user_pages()' takes 6 arguments],
+get_user_pages_6arg, [
+       #include <linux/mm.h>
+],[
+       int rc;
+
+       rc = get_user_pages(0, 0, 0, 0, NULL, NULL);
+],[
+       AC_DEFINE(HAVE_GET_USER_PAGES_6ARG, 1,
+               [get_user_pages takes 6 arguments])
+])
+]) # LIBCFS_GET_USER_PAGES_6ARG
+
+#
 # LIBCFS_PROG_LINUX
 #
 # LibCFS linux kernel checks
@@ -401,6 +419,7 @@ LIBCFS_FPU_API
 LIBCFS_CRYPTO_HASH_HELPERS
 # 4.6
 LIBCFS_STACKTRACE_OPS_ADDRESS_RETURN_INT
+LIBCFS_GET_USER_PAGES_6ARG
 ]) # LIBCFS_PROG_LINUX
 
 #