From ee34810da63bab3fa5a17e3898b5ddf67713b552 Mon Sep 17 00:00:00 2001 From: Original Author Date: Fri, 4 Jun 2021 00:37:18 -0700 Subject: [PATCH] LU-14690 kernel: new kernel [RHEL 8.4 4.18.0-305.3.1.el8_4] This patch makes changes to support new RHEL 8.4 release for Lustre client. Test-Parameters: trivial clientdistro=el8.4 Lustre-change: https://review.whamcloud.com/43725 Lustre-commit: f269497ac7a730880e590eb9e8405f082522c5e0 Test-Parameters: fortestonly Change-Id: I47d4706f9175d489ef0e6226492af20f44f0677e Signed-off-by: Jian Yu Removed libcfs/include/libcfs/linux/linux-net.h Signed-off-by: Gian-Carlo DeFazio Reviewed-on: https://review.whamcloud.com/44173 Reviewed-by: Oleg Drokin Tested-by: Oleg Drokin --- libcfs/autoconf/lustre-libcfs.m4 | 43 ++++++++++++++++ lustre/ChangeLog | 60 +++++++++++++++++++++- lustre/autoconf/lustre-core.m4 | 1 + .../kernel_patches/targets/4.18-rhel8.4.target.in | 26 ++++++++++ 4 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 lustre/kernel_patches/targets/4.18-rhel8.4.target.in diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index 529b534..d5ce131 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -1149,6 +1149,46 @@ clear_and_wake_up_bit, [ ]) # LIBCFS_CLEAR_AND_WAKE_UP_BIT # +# LIBCFS_TCP_SOCK_SET_NODELAY +# +# kernel 4.18.0-293.el8 +# tcp_sock_set_nodelay() was added +AC_DEFUN([LIBCFS_TCP_SOCK_SET_NODELAY], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if 'tcp_sock_set_nodelay()' exists], +tcp_sock_set_nodelay_exists, [ + #include +],[ + tcp_sock_set_nodelay(NULL); +],[ + AC_DEFINE(HAVE_TCP_SOCK_SET_NODELAY, 1, + ['tcp_sock_set_nodelay()' exists]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LIBCFS_TCP_SOCK_SET_NODELAY + +# +# LIBCFS_TCP_SOCK_SET_KEEPIDLE +# +# kernel 4.18.0-293.el8 +# tcp_sock_set_keepidle() was added +AC_DEFUN([LIBCFS_TCP_SOCK_SET_KEEPIDLE], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if 'tcp_sock_set_keepidle()' exists], +tcp_sock_set_keepidle_exists, [ + #include +],[ + tcp_sock_set_keepidle(NULL, 0); +],[ + AC_DEFINE(HAVE_TCP_SOCK_SET_KEEPIDLE, 1, + ['tcp_sock_set_keepidle()' exists]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LIBCFS_TCP_SOCK_SET_KEEPIDLE + +# # LIBCFS_XARRAY_SUPPORT # # 4.19-rc5 kernel commit 3159f943aafdbacb2f94c38fdaadabf2bbde2a14 @@ -1408,6 +1448,9 @@ LIBCFS_WAIT_VAR_EVENT # 4.17 LIBCFS_BITMAP_ALLOC LIBCFS_CLEAR_AND_WAKE_UP_BIT +# 4.18 +LIBCFS_TCP_SOCK_SET_NODELAY +LIBCFS_TCP_SOCK_SET_KEEPIDLE # 4.19 LIBCFS_XARRAY_SUPPORT # 4.20 diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 2e4591a..fa3a7b1 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -1,3 +1,61 @@ +TBD Whamcloud + * version 2.14.1 + * See https://wiki.whamcloud.com/display/PUB/Lustre+Support+Matrix + for currently supported client and server kernel versions. + * Server primary kernels built and tested during release cycle: + 3.10.0-1062.18.1.el7 (RHEL7.7) + 3.10.0-1127.19.1.el7 (RHEL7.8) + 3.10.0-1160.6.1.el7 (RHEL7.9) + * Other server kernels known to build and work at some point (others may also work): + 3.10.0-862.14.4.el7 (RHEL7.5) + 3.10.0-957.27.2.el7 (RHEL7.6) + 4.18.0-80.11.2.el8 (RHEL8.0) + 4.18.0-147.8.1.el8 (RHEL8.1) + 4.18.0-193.28.1.el8 (RHEL8.2) + 4.18.0-240.1.1.el8 (RHEL8.3) + 4.4.120-92.70 (SLES12 SP2) + 4.4.180-94.100 (SLES12 SP3) + 4.4.0-131 (Ubuntu 16.04) + 4.15.0-32 (Ubuntu 18.04) + 5.4.0-48 (Ubuntu 20.04) + vanilla linux 5.4.0 (ZFS + ldiskfs) + * ldiskfs needs an ldiskfs patch series for that kernel, ZFS does not + * Client primary kernels built and tested during release cycle: + 3.10.0-1062.18.1.el7 (RHEL7.7) + 3.10.0-1127.19.1.el7 (RHEL7.8) + 3.10.0-1160.6.1.el7 (RHEL7.9) + 4.12.14-95.48 (SLES12 SP4) + 4.12.14-122.20 (SLES12 SP5) + 4.12.14-197.75 (SLES15 SP1) + 5.3.18-24.24 (SLES15 SP2) + 4.15.0-48 (Ubuntu 18.04) + * Other clients known to build on these kernels at some point (others may also work): + 3.10.0-862.14.4.el7 (RHEL7.5) + 3.10.0-957.27.2.el7 (RHEL7.6) + 4.14.0-49.13.1.el7a (RHEL7.5) + 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.28.1.el8 (RHEL8.2) + 4.18.0-240.1.1.el8 (RHEL8.3) + 4.18.0-305.3.1.el8 (RHEL8.4) + 4.4.120-92.70 (SLES12 SP2) + 4.4.180-94.100 (SLES12 SP3) + 4.4.0-131 (Ubuntu 16.04) + 5.4.0-37 (Ubuntu 20.04) + 5.4.0 (vanilla kernel.org) + * Recommended e2fsprogs version: 1.45.6.wc5 or newer + * Recommended ZFS version: 2.0.0 + * NFS export disabled when stack size < 8192 (32-bit Lustre clients), + since the NFSv4 export of Lustre filesystem with 4K stack may cause a + stack overflow. For more information, please refer to bugzilla 17630. + * NFSv4 reexport to 32-bit NFS client nodes requires Lustre client on + the re-exporting nodes to be mounted with "32bitapi" mount option + +- + +-------------------------------------------------------------------------------- + 02-20-2021 Whamcloud * version 2.14.0 * See https://wiki.whamcloud.com/display/PUB/Lustre+Support+Matrix @@ -532,7 +590,7 @@ Severity : enhancement Bugzilla : 22864 Description: "som_preview" mount option required to use SOM Details : The clients will need to use som_preview mount option - in order to use SOM. + in order to use SOM. Bugzilla : 22850 Description: Lustre does not do 1MB IOs to HW RAID diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 286f717..9f6837e 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -2854,6 +2854,7 @@ lustre/doc/Makefile lustre/include/Makefile lustre/include/lustre/Makefile lustre/include/uapi/linux/lustre/Makefile +lustre/kernel_patches/targets/4.18-rhel8.4.target lustre/kernel_patches/targets/4.18-rhel8.3.target lustre/kernel_patches/targets/4.18-rhel8.2.target lustre/kernel_patches/targets/4.18-rhel8.1.target diff --git a/lustre/kernel_patches/targets/4.18-rhel8.4.target.in b/lustre/kernel_patches/targets/4.18-rhel8.4.target.in new file mode 100644 index 0000000..d28a956 --- /dev/null +++ b/lustre/kernel_patches/targets/4.18-rhel8.4.target.in @@ -0,0 +1,26 @@ +lnxmaj="4.18.0" +lnxrel="305.3.1.el8_4" + +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 -- 1.8.3.1