X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=config%2Flustre-build-ldiskfs.m4;h=67e3b41472ff7a496c55347513565fc62e3f7af5;hb=028281ae195927e97518c573e7be3e326d9e6bd3;hp=86d0327b1cbef0d1e982711dddb4acf531434cd6;hpb=b5d7edd5077829d87eef5a2863b6ca9649d17120;p=fs%2Flustre-release.git diff --git a/config/lustre-build-ldiskfs.m4 b/config/lustre-build-ldiskfs.m4 index 86d0327..67e3b41 100644 --- a/config/lustre-build-ldiskfs.m4 +++ b/config/lustre-build-ldiskfs.m4 @@ -13,6 +13,7 @@ esac AS_IF([test -z "$LDISKFS_SERIES"], [ AS_IF([test x$RHEL_KERNEL = xyes], [ case $RHEL_RELEASE_NO in + 83) LDISKFS_SERIES="4.18-rhel8.3.series" ;; 82) LDISKFS_SERIES="4.18-rhel8.2.series" ;; 81) LDISKFS_SERIES="4.18-rhel8.1.series" ;; 80) LDISKFS_SERIES="4.18-rhel8.series" ;; @@ -45,8 +46,8 @@ AS_IF([test x$RHEL_KERNEL = xyes], [ ;; esac ] - )], [LDISKFS_SERIES="5.4.0-ml.series"], - [LDISKFS_SERIES="5.4.0-ml.series"]) + )], [LDISKFS_SERIES="5.4.21-ml.series"], + [LDISKFS_SERIES="5.4.21-ml.series"]) ], [test x$UBUNTU_KERNEL = xyes], [ AS_VERSION_COMPARE([$LINUXRELEASE],[5.4.0],[ AS_VERSION_COMPARE([$LINUXRELEASE],[5.0.0],[ @@ -81,7 +82,18 @@ AS_IF([test x$RHEL_KERNEL = xyes], [ [LDISKFS_SERIES="5.0.0-13-ubuntu19.series"], [LDISKFS_SERIES="5.0.0-13-ubuntu19.series"])], [LDISKFS_SERIES="5.4.0-42-ubuntu20.series"], - [LDISKFS_SERIES="5.4.0-42-ubuntu20.series"], + [ + KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2) + AS_IF( + [test -z "$KPLEV"], [ + AC_MSG_WARN([Failed to determine Kernel patch level. Assume latest.]) + LDISKFS_SERIES="5.4.0-66-ubuntu20.series" + ], + [test $KPLEV -eq 1007], [LDISKFS_SERIES="5.4.0-42-ubuntu20.series"], + [test $KPLEV -ge 66], [LDISKFS_SERIES="5.4.0-66-ubuntu20.series"], + [LDISKFS_SERIES="5.4.0-42-ubuntu20.series"] + ) + ], [LDISKFS_SERIES="5.4.0-ml.series"]) ]) ]) @@ -90,10 +102,10 @@ AS_IF([test -z "$LDISKFS_SERIES"], [ AS_VERSION_COMPARE([$LINUXRELEASE],[5.4.0],[], [LDISKFS_SERIES="5.4.0-ml.series"],[ - AS_VERSION_COMPARE([$LINUXRELEASE],[5.4.0], - [LDISKFS_SERIES="5.4.0-ml.series"], # lt - [LDISKFS_SERIES="5.4.0-ml.series"], # eq - [LDISKFS_SERIES="5.4.0-ml.series"] # gt + AS_VERSION_COMPARE([$LINUXRELEASE],[5.4.21], + [LDISKFS_SERIES="5.4.0-ml.series"], # lt + [LDISKFS_SERIES="5.4.21-ml.series"], # eq + [LDISKFS_SERIES="5.4.21-ml.series"] # gt )]) ], []) @@ -226,6 +238,33 @@ ext4_i_crypt_info, [ ]) # LB_EXT4_HAVE_I_CRYPT_INFO # +# LB_LDISKFS_JOURNAL_ENSURE_CREDITS +# +# kernel 4.18.0-240.1.1.el8 and +# kernel 5.4 commit a413036791d040e33badcc634453a4d0c0705499 +# +# ext4_journal_ensure_credits was introduced to ensure given handle +# has at least requested amount of credits available, and possibly +# restarting transaction if needed. +# +AC_DEFUN([LB_LDISKFS_JOURNAL_ENSURE_CREDITS], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if 'ext4_journal_ensure_credits' exists], +ext4_journal_ensure_credits, [ + #include "$EXT4_SRC_DIR/ext4_jbd2.h" + int __ext4_journal_ensure_credits(handle_t *handle, int check_cred, + int extend_cred, int revoke_cred) { return 0; } +],[ + ext4_journal_ensure_credits(NULL, 0, 0); +],[ + AC_DEFINE(HAVE_LDISKFS_JOURNAL_ENSURE_CREDITS, 1, + ['ext4_journal_ensure_credits' exists]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LB_LDISKFS_JOURNAL_ENSURE_CREDITS + +# # LB_LDISKFS_IGET_HAS_FLAGS_ARG # # kernel 4.19 commit 8a363970d1dc38c4ec4ad575c862f776f468d057 @@ -417,6 +456,7 @@ AS_IF([test x$enable_ldiskfs != xno],[ LB_EXT4_BREAD_4ARGS LB_EXT4_HAVE_INFO_DQUOT LB_EXT4_HAVE_I_CRYPT_INFO + LB_LDISKFS_JOURNAL_ENSURE_CREDITS LB_LDISKFS_IGET_HAS_FLAGS_ARG LB_LDISKFS_FIND_ENTRY_LOCKED_EXISTS LB_LDISKFSFS_DIRHASH_WANTS_DIR