From: Jian Yu Date: Wed, 20 May 2020 22:30:00 +0000 (-0700) Subject: LU-13488 kernel: new kernel [RHEL 8.2 4.18.0-193.1.2.el8] X-Git-Tag: 2.13.55~162 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=b447395e09b56393a20801a2bc7c545fe001ca7c;ds=sidebyside LU-13488 kernel: new kernel [RHEL 8.2 4.18.0-193.1.2.el8] This patch makes changes to support new RHEL 8.2 release for Lustre client. Test-Parameters: trivial clientdistro=el8.2 \ env=SANITY_EXCEPT="130 133h" testlist=sanity Change-Id: Icb1db3afd2e94423a45354acfdd559f8f1e294cb Signed-off-by: Jian Yu Reviewed-on: https://review.whamcloud.com/38410 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Yang Sheng Reviewed-by: Minh Diep Reviewed-by: Oleg Drokin --- diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index 139ce1c..318036b 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -704,6 +704,33 @@ EXTRA_KCFLAGS="$tmp_flags" ]) # LN_CONFIG_SOCK_GETNAME # +# LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL +# +# kernel 5.3 commit ef11db3310e272d3d8dbe8739e0770820dd20e52 +# and kernel 4.18.0-193.el8: +# added in_dev_for_each_ifa_rtnl and in_dev_for_each_ifa_rcu +# and removed for_ifa and endfor_ifa. +# Use the _rntl variant as the current locking is rtnl. +# +AC_DEFUN([LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if 'in_dev_for_each_ifa_rtnl' is defined], +in_dev_for_each_ifa_rtnl_test, [ + #include +],[ + const struct in_ifaddr *ifa = NULL; + struct in_device *in_dev = NULL; + + in_dev_for_each_ifa_rtnl(ifa, in_dev) {} +],[ + AC_DEFINE(HAVE_IN_DEV_FOR_EACH_IFA_RTNL, 1, + ['in_dev_for_each_ifa_rtnl' is defined]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL + +# # LN_IB_DEVICE_OPS_EXISTS # # kernel 5.0 commit 521ed0d92ab0db3edd17a5f4716b7f698f4fce61 @@ -798,6 +825,8 @@ LN_HAVE_HYPERVISOR_IS_TYPE LN_HAVE_ORACLE_OFED_EXTENSIONS # 4.17 LN_CONFIG_SOCK_GETNAME +# 5.3 and 4.18.0-193.el8 +LN_HAVE_IN_DEV_FOR_EACH_IFA_RTNL ]) # LN_PROG_LINUX # diff --git a/lnet/include/lnet/lib-lnet.h b/lnet/include/lnet/lib-lnet.h index 6d577e1..8e27802 100644 --- a/lnet/include/lnet/lib-lnet.h +++ b/lnet/include/lnet/lib-lnet.h @@ -91,11 +91,12 @@ extern struct lnet the_lnet; /* THE network */ /* * kernel 5.3: commit ef11db3310e272d3d8dbe8739e0770820dd20e52 + * kernel 4.18.0-193.el8: * added in_dev_for_each_ifa_rtnl and in_dev_for_each_ifa_rcu * and removed for_ifa and endfor_ifa. * Use the _rntl variant as the current locking is rtnl. */ -#ifdef in_dev_for_each_ifa_rtnl +#ifdef HAVE_IN_DEV_FOR_EACH_IFA_RTNL #define DECLARE_CONST_IN_IFADDR(ifa) const struct in_ifaddr *ifa #define endfor_ifa(in_dev) #else diff --git a/lustre/ChangeLog b/lustre/ChangeLog index d07e879..7129ef2 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -29,6 +29,7 @@ TBD Whamcloud 4.14.0-115.2.2.el7a (RHEL7.6) 4.18.0-80.11.2.el8 (RHEL8.0) 4.18.0-147.8.1.el8 (RHEL8.1) + 4.18.0-193.1.2.el8 (RHEL8.2) 4.4.120-92.70 (SLES12 SP2) 4.4.180-94.100 (SLES12 SP3) 4.4.0-131 (Ubuntu 16.04) diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 4f9ce29..436737b 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -2783,6 +2783,7 @@ lustre/doc/Makefile lustre/include/Makefile lustre/include/lustre/Makefile lustre/include/uapi/linux/lustre/Makefile +lustre/kernel_patches/targets/4.18-rhel8.2.target lustre/kernel_patches/targets/4.18-rhel8.1.target lustre/kernel_patches/targets/4.18-rhel8.target lustre/kernel_patches/targets/3.10-rhel7.8.target diff --git a/lustre/kernel_patches/targets/4.18-rhel8.2.target.in b/lustre/kernel_patches/targets/4.18-rhel8.2.target.in new file mode 100644 index 0000000..2f1a56c --- /dev/null +++ b/lustre/kernel_patches/targets/4.18-rhel8.2.target.in @@ -0,0 +1,26 @@ +lnxmaj="4.18.0" +lnxrel="193.1.2.el8_2" + +KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm +SERIES="" +EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ +LUSTRE_VERSION=@VERSION@ + +DEVEL_PATH_ARCH_DELIMETER="." +OFED_VERSION=inkernel + +BASE_ARCHS="i686 x86_64 ia64 ppc64" +BIGMEM_ARCHS="" +BOOT_ARCHS="" +JENSEN_ARCHS="" +#SMP_ARCHS="i686 x86_64 ia64 ppc64" +# RHEL8 doesn't use smp specific kernels +SMP_ARCHS="" +UP_ARCHS="" + +for cc in gcc ; do + if which $cc >/dev/null 2>/dev/null ; then + export CC=$cc + break + fi +done