Whamcloud - gitweb
LU-1994 kernel: 3.5 kernel encode_fh passes in parent inode
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index 44c72d9..7745767 100644 (file)
@@ -2066,6 +2066,54 @@ LB_LINUX_TRY_COMPILE([
 ])
 
 #
+# 3.5 renames end_writeback() back to clear_inode()...
+# see kernel commit dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430
+#
+AC_DEFUN([LC_HAVE_CLEAR_INODE],
+[AC_MSG_CHECKING([if have clear_inode])
+LB_LINUX_TRY_COMPILE([
+       #include <linux/fs.h>
+],[
+       clear_inode((struct inode *)NULL);
+],[
+       AC_DEFINE(HAVE_CLEAR_INODE, 1,
+                 [have clear_inode])
+       AC_MSG_RESULT([yes])
+],[
+       AC_MSG_RESULT([no])
+])
+])
+
+#
+# 3.5 encode_fh has parent inode passed in directly
+# see kernel commit b0b0382b
+#
+AC_DEFUN([LC_HAVE_ENCODE_FH_PARENT],
+[AC_MSG_CHECKING([if encode_fh have parent inode as parameter])
+tmp_flags="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="-Werror"
+LB_LINUX_TRY_COMPILE([
+       #include <linux/exportfs.h>
+       #include <linux/fs.h>
+       #include <linux/types.h>
+       int ll_encode_fh(struct inode *i, __u32 *a, int *b, struct inode *p)
+       {
+               return 0;
+       }
+],[
+       struct export_operations exp_op;
+       exp_op.encode_fh = ll_encode_fh;
+],[
+       AC_DEFINE(HAVE_ENCODE_FH_PARENT, 1,
+                 [have parent inode as parameter])
+       AC_MSG_RESULT([yes])
+],[
+       AC_MSG_RESULT([no])
+])
+EXTRA_KCFLAGS="$tmp_flags"
+])
+
+#
 # LC_PROG_LINUX
 #
 # Lustre linux kernel checks
@@ -2230,6 +2278,10 @@ AC_DEFUN([LC_PROG_LINUX],
         LC_HAVE_D_MAKE_ROOT
         LC_KMAP_ATOMIC_HAS_1ARG
 
+        # 3.5
+        LC_HAVE_CLEAR_INODE
+        LC_HAVE_ENCODE_FH_PARENT
+
         #
         if test x$enable_server = xyes ; then
                AC_DEFINE(HAVE_SERVER_SUPPORT, 1, [support server])
@@ -2644,7 +2696,7 @@ AC_ARG_ENABLE([pgstate-track],
 AC_MSG_CHECKING([whether to enable page state tracking])
 AC_MSG_RESULT([$enable_pgstat_track])
 if test x$enable_pgstat_track = xyes ; then
-        AC_DEFINE([LUSTRE_PAGESTATE_TRACKING], 1,
+        AC_DEFINE([CONFIG_DEBUG_PAGESTATE_TRACKING], 1,
                   [enable page state tracking code])
 fi