X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=config%2Flustre-build-ldiskfs.m4;h=8daef5b75705cf327f3e6aff07b2ebf5b8a442d5;hb=ee809615178d2fdbf6f2004ec871d04c2cfbca7e;hp=32420b1b946c026719fa32d3b5724e8a83c40ead;hpb=5f7bd9a806d5ba5b0e70ae1b299a9b9a87fcc0a6;p=fs%2Flustre-release.git diff --git a/config/lustre-build-ldiskfs.m4 b/config/lustre-build-ldiskfs.m4 index 32420b1..8daef5b 100644 --- a/config/lustre-build-ldiskfs.m4 +++ b/config/lustre-build-ldiskfs.m4 @@ -14,6 +14,7 @@ AS_IF([test -z "$LDISKFS_SERIES"], [ AS_IF([test x$RHEL_KERNEL = xyes], [ case $RHEL_RELEASE_NO in 80) LDISKFS_SERIES="4.18-rhel8.series" ;; + 77) LDISKFS_SERIES="3.10-rhel7.7.series" ;; 76) LDISKFS_SERIES="3.10-rhel7.6.series" ;; 75) LDISKFS_SERIES="3.10-rhel7.5.series" ;; 74) LDISKFS_SERIES="3.10-rhel7.4.series" ;; @@ -114,23 +115,6 @@ ext4_free_blocks_with_buffer_head, [ ]) # LB_EXT_FREE_BLOCKS_WITH_BUFFER_HEAD # -# LB_EXT_PBLOCK -# -# 2.6.35 renamed ext_pblock to ext4_ext_pblock(ex) -# -AC_DEFUN([LB_EXT_PBLOCK], [ -LB_CHECK_COMPILE([if Linux kernel has 'ext_pblock'], -ext_pblock, [ - #include - #include "$EXT4_SRC_DIR/ext4_extents.h" -],[ - ext_pblock(NULL); -],[ - AC_DEFINE(HAVE_EXT_PBLOCK, 1, [Linux kernel has ext_pblock]) -]) -]) # LB_EXT_PBLOCK - -# # LB_EXT4_JOURNAL_START_3ARGS # # 3.9 added a type argument to ext4_journal_start and friends @@ -148,25 +132,6 @@ ext4_journal_start, [ ]) # 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 - #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]) -]) -]) - -# # LB_EXT4_BREAD_4ARGS # # 3.18 ext4_bread has 4 arguments @@ -241,6 +206,29 @@ ext4_i_crypt_info, [ ]) # LB_EXT4_HAVE_I_CRYPT_INFO # +# LB_LDISKFS_IGET_HAS_FLAGS_ARG +# +# kernel 4.19 commit 8a363970d1dc38c4ec4ad575c862f776f468d057 +# ext4_iget changed to a macro with 3 args was function with 2 args +# +AC_DEFUN([LB_LDISKFS_IGET_HAS_FLAGS_ARG], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if ldiskfs_iget takes a flags argument], +ext4_iget_3args, [ + #include + #include "$EXT4_SRC_DIR/ext4.h" +],[ + int f = EXT4_IGET_SPECIAL; + (void)f; +],[ + AC_DEFINE(HAVE_LDISKFS_IGET_WITH_FLAGS, 1, + [if ldiskfs_iget takes a flags argument]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LB_LDISKFS_IGET_HAS_FLAGS_ARG + +# # LDISKFS_AC_PATCH_PROGRAM # # Determine which program should be used to apply the patches to @@ -274,6 +262,28 @@ AC_DEFUN([LDISKFS_AC_PATCH_PROGRAM], [ ]) # LDISKFS_AC_PATCH_PROGRAM # +# LB_HAVE_BVEC_ITER_ALL +# +# kernel 5.1 commit 6dc4f100c175dd0511ae8674786e7c9006cdfbfa +# block: allow bio_for_each_segment_all() to iterate over multi-page bvec +# +AC_DEFUN([LB_HAVE_BVEC_ITER_ALL], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if bvec_iter_all exists for multi-page bvec iternation], +ext4fs_dirhash, [ + #include +],[ + struct bvec_iter_all iter; + (void)iter; +],[ + AC_DEFINE(HAVE_BVEC_ITER_ALL, 1, + [if bvec_iter_all exists for multi-page bvec iternation]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LB_HAVE_BVEC_ITER_ALL + +# # LB_CONFIG_LDISKFS # AC_DEFUN([LB_CONFIG_LDISKFS], [ @@ -317,12 +327,12 @@ AS_IF([test x$enable_ldiskfs != xno],[ LDISKFS_LINUX_SERIES LDISKFS_AC_PATCH_PROGRAM LB_EXT_FREE_BLOCKS_WITH_BUFFER_HEAD - LB_EXT_PBLOCK LB_EXT4_JOURNAL_START_3ARGS - LB_LDISKFS_MAP_BLOCKS LB_EXT4_BREAD_4ARGS LB_EXT4_HAVE_INFO_DQUOT LB_EXT4_HAVE_I_CRYPT_INFO + LB_LDISKFS_IGET_HAS_FLAGS_ARG + LB_HAVE_BVEC_ITER_ALL 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])