AC_DEFUN([LC_CONFIG_SRCDIR],
[AC_CONFIG_SRCDIR([lustre/obdclass/obdo.c])
libcfs_is_module=yes
+ldiskfs_is_ext4=yes
])
#
])
#
+# LC_D_OBTAIN_ALIAS
+# starting from 2.6.18 kernel don't export do_kern_mount
+# and want to use vfs_kern_mount instead.
+#
+AC_DEFUN([LC_D_OBTAIN_ALIAS],
+[AC_MSG_CHECKING([d_obtain_alias exist in kernel])
+LB_LINUX_TRY_COMPILE([
+ #include <linux/dcache.h>
+],[
+ d_obtain_alias(NULL);
+],[
+ AC_DEFINE(HAVE_D_OBTAIN_ALIAS, 1,
+ [d_obtain_alias exist in kernel])
+ AC_MSG_RESULT([yes])
+],[
+ AC_MSG_RESULT([no])
+])
+])
+
+#
# LC_INVALIDATEPAGE_RETURN_INT
# 2.6.17 changes return type for invalidatepage to 'void' from 'int'
#
])
# LC_CANCEL_DIRTY_PAGE
-# 2.6.20 introduse cancel_dirty_page instead of
-# clear_page_dirty.
+# 2.6.20 introduced cancel_dirty_page instead of clear_page_dirty.
AC_DEFUN([LC_CANCEL_DIRTY_PAGE],
-[AC_MSG_CHECKING([kernel has cancel_dirty_page])
-LB_LINUX_TRY_COMPILE([
- #include <linux/mm.h>
- #include <linux/page-flags.h>
+ [AC_MSG_CHECKING([kernel has cancel_dirty_page])
+ # the implementation of cancel_dirty_page in OFED 1.4.1's SLES10 SP2
+ # backport is broken, so ignore it
+ if test -f $OFED_BACKPORT_PATH/linux/mm.h &&
+ test "$(sed -ne '/^static inline void cancel_dirty_page(struct page \*page, unsigned int account_size)$/,/^}$/p' $OFED_BACKPORT_PATH/linux/mm.h | md5sum)" = "c518cb32d6394760c5bca14cb7538d3e -"; then
+ AC_MSG_RESULT(no)
+ else
+ LB_LINUX_TRY_COMPILE([
+ #include <linux/mm.h>
+ #include <linux/page-flags.h>
],[
- /* tmp workaround for broken OFED 1.4.1 at SLES10 */
- #if defined(CONFIG_SLE_VERSION) && CONFIG_SLE_VERSION == 10 && defined(_BACKPORT_LINUX_MM_H_)
- #error badly implementation of cancel_dirty_pages
- #endif
- cancel_dirty_page(NULL, 0);
+ cancel_dirty_page(NULL, 0);
],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_CANCEL_DIRTY_PAGE, 1,
- [kernel has cancel_dirty_page instead of clear_page_dirty])
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_CANCEL_DIRTY_PAGE, 1,
+ [kernel has cancel_dirty_page instead of clear_page_dirty])
],[
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT(no)
])
+ fi
])
#
AC_DEFINE(LIBLUSTRE_POSIX_ACL, 1, Liblustre Support ACL-enabled MDS)
fi
+# 2.6.29 change prepare/commit_write to write_begin/end
+AC_DEFUN([LC_WRITE_BEGIN_END],
+[AC_MSG_CHECKING([if kernel has .write_begin/end])
+LB_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+ #include <linux/pagemap.h>
+#ifdef HAVE_LINUX_MMTYPES_H
+ #include <linux/mm_types.h>
+#endif
+],[
+ struct address_space_operations aops;
+ struct page *page;
+
+ aops.write_begin = NULL;
+ aops.write_end = NULL;
+ page = grab_cache_page_write_begin(NULL, 0, 0);
+], [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_KERNEL_WRITE_BEGIN_END, 1,
+ [kernel has .write_begin/end])
+],[
+ AC_MSG_RESULT([no])
+])
+])
+
+# 2.6.29 blkdev_put has 2 arguments
+AC_DEFUN([LC_BLKDEV_PUT_2ARGS],
+[AC_MSG_CHECKING([blkdev_put needs 2 parameters])
+LB_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+],[
+ blkdev_put(NULL, 0);
+],[
+ AC_DEFINE(HAVE_BLKDEV_PUT_2ARGS, 1,
+ [blkdev_put needs 2 paramters])
+ AC_MSG_RESULT([yes])
+],[
+ AC_MSG_RESULT([no])
+])
+])
+
+# 2.6.29 dentry_open has 4 arguments
+AC_DEFUN([LC_DENTRY_OPEN_4ARGS],
+[AC_MSG_CHECKING([dentry_open needs 4 parameters])
+LB_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+],[
+ dentry_open(NULL, NULL, 0, NULL);
+],[
+ AC_DEFINE(HAVE_DENTRY_OPEN_4ARGS, 1,
+ [dentry_open needs 4 paramters])
+ AC_MSG_RESULT([yes])
+],[
+ AC_MSG_RESULT([no])
+])
+])
+
#
# --enable-mpitest
#
AC_DEFINE([USE_LU_REF], 1, [enable lu_ref reference tracking code])
fi
+ #2.6.29
+ LC_WRITE_BEGIN_END
+ LC_D_OBTAIN_ALIAS
+ LC_BLKDEV_PUT_2ARGS
+ LC_DENTRY_OPEN_4ARGS
+
])
#
lustre/kernel_patches/targets/2.6-sles10.target
lustre/kernel_patches/targets/2.6-sles11.target
lustre/kernel_patches/targets/2.6-oel5.target
+lustre/kernel_patches/targets/2.6-fc11.target
lustre/ldlm/Makefile
lustre/fid/Makefile
lustre/fid/autoMakefile
lustre/tests/mpi/Makefile
lustre/utils/Makefile
lustre/utils/gss/Makefile
+lustre/obdclass/darwin/Makefile
])
-case $lb_target_os in
- darwin)
- AC_CONFIG_FILES([ lustre/obdclass/darwin/Makefile ])
- ;;
-esac
-
])