kernel commit
dbd5768f8 renames end_writeback to clear_inode,
which used to exist for ~2.6.36 kernels.
Signed-off-by: Peng Tao <tao.peng@emc.com>
Signed-off-by: yang sheng <ys@whamcloud.com>
Change-Id: I2435e820092085c0fb55539818f4bad9e48ff386
Reviewed-on: http://review.whamcloud.com/3756
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
])
#
+# 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])
+])
+])
+
+#
# LC_PROG_LINUX
#
# Lustre linux kernel checks
LC_HAVE_D_MAKE_ROOT
LC_KMAP_ATOMIC_HAS_1ARG
+ # 3.5
+ LC_HAVE_CLEAR_INODE
+
#
if test x$enable_server = xyes ; then
AC_DEFINE(HAVE_SERVER_SUPPORT, 1, [support server])
#define ll_kunmap_atomic(a, b) kunmap_atomic(a, b)
#endif
+#ifndef HAVE_CLEAR_INODE
+#define clear_inode(i) end_writeback(i)
+#endif
+
#ifndef HAVE_BI_HW_SEGMENTS
#define bio_hw_segments(q, bio) 0
/* Workaround end */
#ifdef HAVE_SBOPS_EVICT_INODE
- ll_clear_inode(inode);
- end_writeback(inode);
-#else
- clear_inode(inode);
+ ll_clear_inode(inode);
#endif
+ clear_inode(inode);
EXIT;
}