LDISKFS_SERIES=
AC_MSG_CHECKING([which ldiskfs series to use])
AS_IF([test x$RHEL_KERNEL = xyes], [
- AS_VERSION_COMPARE([$RHEL_KERNEL_VERSION],[2.6.32-431],[
- AS_VERSION_COMPARE([$RHEL_KERNEL_VERSION],[2.6.32-343],[
- AS_VERSION_COMPARE([$RHEL_KERNEL_VERSION],[2.6.32],[],
- [LDISKFS_SERIES="2.6-rhel6.series"], [LDISKFS_SERIES="2.6-rhel6.series"])],
- [LDISKFS_SERIES="2.6-rhel6.4.series"],[LDISKFS_SERIES="2.6-rhel6.4.series"])],
- [LDISKFS_SERIES="2.6-rhel6.5.series"],[LDISKFS_SERIES="2.6-rhel6.5.series"])
+ case $RHEL_RELEASE_NO in
+ 70) LDISKFS_SERIES="3.10-rhel7.series" ;;
+ 65) LDISKFS_SERIES="2.6-rhel6.5.series" ;;
+ 64) LDISKFS_SERIES="2.6-rhel6.4.series" ;;
+ 6[0-3]) LDISKFS_SERIES="2.6-rhel6.series" ;;
+ esac
], [test x$SUSE_KERNEL = xyes], [
AS_VERSION_COMPARE([$LINUXRELEASE],[3.0.0],[
AS_VERSION_COMPARE([$LINUXRELEASE],[2.6.32], [],
# LB_EXT_FREE_BLOCKS_WITH_BUFFER_HEAD
#
# 2.6.32-rc7 ext4_free_blocks requires struct buffer_head
+# Note that RHEL6 is pre 2.6.32-rc7 so this check is still needed.
#
AC_DEFUN([LB_EXT_FREE_BLOCKS_WITH_BUFFER_HEAD], [
LB_CHECK_COMPILE([if 'ext4_free_blocks' needs 'struct buffer_head'],
]) # LB_EXT_PBLOCK
#
+# LB_EXT4_JOURNAL_START_3ARGS
+#
+# 3.9 added a type argument to ext4_journal_start and friends
+#
+AC_DEFUN([LB_EXT4_JOURNAL_START_3ARGS], [
+LB_CHECK_COMPILE([if ext4_journal_start takes 3 arguments],
+ext4_journal_start, [
+ #include <linux/fs.h>
+ #include "$EXT4_SRC_DIR/ext4_jbd2.h"
+],[
+ ext4_journal_start(NULL, 0, 0);
+],[
+ AC_DEFINE(JOURNAL_START_HAS_3ARGS, 1, [ext4_journal_start takes 3 arguments])
+])
+]) # LB_EXT4_JOURNAL_START_3ARGS
+
+#
+# LB_LDISKFS_MAP_BLOCKS
+#
+# Since 2.6.35 brought ext4_map_blocks() for IO.
+# We just check this function whether existed.
+# it must be exported by ldiskfs patches.
+#
+AC_DEFUN([LB_LDISKFS_MAP_BLOCKS], [
+LB_CHECK_COMPILE([if kernel has ext4_map_blocks],
+ext4_map_blocks, [
+ #include <linux/fs.h>
+ #include "$EXT4_SRC_DIR/ext4.h"
+],[
+ ext4_map_blocks(NULL, NULL, NULL, 0);
+],[
+ AC_DEFINE(HAVE_LDISKFS_MAP_BLOCKS, 1, [kernel has ext4_map_blocks])
+])
+])
+
+#
# LDISKFS_AC_PATCH_PROGRAM
#
# Determine which program should be used to apply the patches to
LDISKFS_AC_PATCH_PROGRAM
LB_EXT_FREE_BLOCKS_WITH_BUFFER_HEAD
LB_EXT_PBLOCK
+ LB_EXT4_JOURNAL_START_3ARGS
+ LB_LDISKFS_MAP_BLOCKS
AC_DEFINE(CONFIG_LDISKFS_FS_POSIX_ACL, 1, [posix acls for ldiskfs])
AC_DEFINE(CONFIG_LDISKFS_FS_SECURITY, 1, [fs security for ldiskfs])
AC_DEFINE(CONFIG_LDISKFS_FS_XATTR, 1, [extened attributes for ldiskfs])