Whamcloud - gitweb
LU-8560 llite: handle is_compat_task() rename 08/22208/3
authorJames Simmons <uja.ornl@yahoo.com>
Mon, 29 Aug 2016 23:19:48 +0000 (19:19 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 8 Sep 2016 02:06:38 +0000 (02:06 +0000)
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>
lustre/autoconf/lustre-core.m4
lustre/include/lustre_patchless_compat.h
lustre/llite/llite_internal.h
lustre/osd-ldiskfs/osd_internal.h

index 77e0059..3772621 100644 (file)
@@ -2201,6 +2201,23 @@ inode_ops_get_link, [
 ]) # 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
@@ -2383,6 +2400,9 @@ AC_DEFUN([LC_PROG_LINUX], [
        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
index 58daecf..644ab78 100644 (file)
@@ -135,4 +135,8 @@ truncate_complete_page(struct address_space *mapping, struct page *page)
 #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 */
index a79d49a..96770ad 100644 (file)
@@ -653,7 +653,7 @@ static inline int ll_need_32bit_api(struct ll_sb_info *sbi)
 #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
index 0c966be..3f685a7 100644 (file)
@@ -1185,7 +1185,7 @@ int osd_acct_obj_lookup(struct osd_thread_info *info, struct osd_device *osd,
 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