]) # LIBCFS_EXPORT_SAVE_STACK_TRACE_TSK
#
+# LIBCFS_LOCKDEP_IS_HELD
+#
+# Kernel v4.15-rc8-106-g08f36ff64234
+# lockdep: Make lockdep checking constant
+#
+AC_DEFUN([LIBCFS_LOCKDEP_IS_HELD], [
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_CHECK_COMPILE([if 'lockdep_is_held()' uses const argument],
+lockdep_is_held, [
+ #include <linux/lockdep.h>
+],[
+#ifdef CONFIG_LOCKDEP
+ const struct spinlock *lock = NULL;
+
+ lockdep_is_held(lock);
+#endif
+],[],[
+ AC_DEFINE(NEED_LOCKDEP_IS_HELD_DISCARD_CONST, 1,
+ [lockdep_is_held() argument is const])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+]) # LIBCFS_LOCKDEP_IS_HELD
+
+#
# LIBCFS_TIMER_SETUP
#
# Kernel version 4.15 commit e99e88a9d2b067465adaa9c111ada99a041bef9a
EXTRA_KCFLAGS="-Werror"
LB_CHECK_COMPILE([if page cache uses Xarray],
xarray_support, [
- #include <linux/radix-tree.h>
+ #include <linux/xarray.h>
],[
- radix_tree_exceptional_entry(NULL);
+ xa_is_value(NULL);
],[
- AC_DEFINE(HAVE_RADIX_TREE_EXCEPTIONAL_ENTRY, 1,
- [kernel lacks 'xa_is_value'])
+ AC_DEFINE(HAVE_XARRAY_SUPPORT, 1,
+ [kernel Xarray implementation lacks 'xa_is_value'])
])
EXTRA_KCFLAGS="$tmp_flags"
]) # LIBCFS_XARRAY_SUPPORT
]) # LIBCFS_CACHE_DETAIL_WRITERS
#
-# LIBCFS_CONFIG_CRYPTO_CRC32
+# LIBCFS_HAVE_NR_UNSTABLE_NFS
#
-# The kernel must support CONFIG_CRYPTO_CRC32 to RPC checksumming
+# kernel v5.8-rc1~201^2~75
+# mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead
#
-AC_DEFUN([LIBCFS_CONFIG_CRYPTO_CRC32], [
-LB_CHECK_CONFIG_IM([CRYPTO_CRC32], [],
- [AC_MSG_ERROR([
+AC_DEFUN([LIBCFS_HAVE_NR_UNSTABLE_NFS], [
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_CHECK_COMPILE([if NR_UNSTABLE_NFS still in use],
+nr_unstable_nfs_exists, [
+ #include <linux/mm.h>
-Lustre requires that CONFIG_CRYPTO_CRC32 is enabled in your kernel.
-])])
-]) # LIBCFS_CONFIG_CRYPTO_CRC32
+ int i;
+],[
+ i = NR_UNSTABLE_NFS;
+],[
+ AC_DEFINE(HAVE_NR_UNSTABLE_NFS, 1,
+ [NR_UNSTABLE_NFS is still in use.])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+]) # LIBCFS_HAVE_NR_UNSTABLE_NFS
AC_DEFUN([LIBCFS_PROG_LINUX_SRC], [] )
AC_DEFUN([LIBCFS_PROG_LINUX_RESULTS], [])
AC_MSG_NOTICE([LibCFS kernel checks
==============================================================================])
LIBCFS_CONFIG_PANIC_DUMPLOG
-LIBCFS_CONFIG_CRYPTO_CRC32
# 3.11
LIBCFS_KTIME_GET_TS64
LIBCFS_NEW_KERNEL_READ
LIBCFS_EXPORT_SAVE_STACK_TRACE_TSK
# 4.15
+LIBCFS_LOCKDEP_IS_HELD
LIBCFS_TIMER_SETUP
# 4.16
LIBCFS_WAIT_VAR_EVENT
LIBCFS_LOOKUP_USER_KEY
LIBCFS_FORCE_SIG_WITH_TASK
LIBCFS_CACHE_DETAIL_WRITERS
+LIBCFS_HAVE_NR_UNSTABLE_NFS
]) # LIBCFS_PROG_LINUX
#