The linux kernel 4.6 renamed is_compat_task() to
in_compat_syscall().
Change-Id: I2d3733a1ec03873d000b9f25aa8a98c3b02be410
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: http://review.whamcloud.com/22208
Reviewed-by: Frank Zago <fzago@cray.com>
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
]) # LC_HAVE_IOP_GET_LINK
#
]) # LC_HAVE_IOP_GET_LINK
#
+# LC_HAVE_IN_COMPAT_SYSCALL
+#
+# 4.6 renamed is_compat_task to in_compat_syscall
+#
+AC_DEFUN([LC_HAVE_IN_COMPAT_SYSCALL], [
+LB_CHECK_COMPILE([if 'in_compat_syscall' is defined],
+in_compat_syscall, [
+ #include <linux/compat.h>
+],[
+ in_compat_syscall();
+],[
+ AC_DEFINE(HAVE_IN_COMPAT_SYSCALL, 1,
+ [have in_compat_syscall])
+])
+]) # LC_HAVE_IN_COMPAT_SYSCALL
+
+#
# LC_PROG_LINUX
#
# Lustre linux kernel checks
# LC_PROG_LINUX
#
# Lustre linux kernel checks
LC_HAVE_INODE_LOCK
LC_HAVE_IOP_GET_LINK
LC_HAVE_INODE_LOCK
LC_HAVE_IOP_GET_LINK
+ # 4.6
+ LC_HAVE_IN_COMPAT_SYSCALL
+
#
AS_IF([test "x$enable_server" != xno], [
LC_FUNC_DEV_SET_RDONLY
#
AS_IF([test "x$enable_server" != xno], [
LC_FUNC_DEV_SET_RDONLY
#define ATTR_CTIME_SET (1 << 28)
#endif
#define ATTR_CTIME_SET (1 << 28)
#endif
+#ifndef HAVE_IN_COMPAT_SYSCALL
+#define in_compat_syscall is_compat_task
+#endif
+
#endif /* LUSTRE_PATCHLESS_COMPAT_H */
#endif /* LUSTRE_PATCHLESS_COMPAT_H */
#if BITS_PER_LONG == 32
return 1;
#elif defined(CONFIG_COMPAT)
#if BITS_PER_LONG == 32
return 1;
#elif defined(CONFIG_COMPAT)
- return unlikely(is_compat_task() || (sbi->ll_flags & LL_SBI_32BIT_API));
+ return unlikely(in_compat_syscall() || (sbi->ll_flags & LL_SBI_32BIT_API));
#else
return unlikely(sbi->ll_flags & LL_SBI_32BIT_API);
#endif
#else
return unlikely(sbi->ll_flags & LL_SBI_32BIT_API);
#endif
static inline int is_32bit_api(void)
{
#ifdef CONFIG_COMPAT
static inline int is_32bit_api(void)
{
#ifdef CONFIG_COMPAT
- return is_compat_task();
+ return in_compat_syscall();
#else
return (BITS_PER_LONG == 32);
#endif
#else
return (BITS_PER_LONG == 32);
#endif