]) # 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 <linux/tcp.h>
+],[
+ 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 <linux/tcp.h>
+],[
+ 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
# 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
(char *)&opt, sizeof(opt));
}
+#if !defined(HAVE_TCP_SOCK_SET_NODELAY)
static inline void tcp_sock_set_nodelay(struct sock *sk)
{
int opt = 1;
kernel_setsockopt(sock, SOL_TCP, TCP_NODELAY,
(char *)&opt, sizeof(opt));
}
+#endif /* HAVE_TCP_SOCK_SET_NODELAY */
+#if !defined(HAVE_TCP_SOCK_SET_KEEPIDLE)
static inline int tcp_sock_set_keepidle(struct sock *sk, int opt)
{
struct socket *sock = sk->sk_socket;
return kernel_setsockopt(sock, SOL_TCP, TCP_KEEPIDLE,
(char *)&opt, sizeof(opt));
}
+#endif /* HAVE_TCP_SOCK_SET_KEEPIDLE */
static inline int tcp_sock_set_keepintvl(struct sock *sk, int opt)
{
4.18.0-147.8.1.el8 (RHEL8.1)
4.18.0-193.28.1.el8 (RHEL8.2)
4.18.0-240.22.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)
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
--- /dev/null
+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