From 020e361cfdbad529e31525052e660268d7bd976d Mon Sep 17 00:00:00 2001 From: Jian Yu Date: Thu, 25 Jul 2024 10:27:34 -0700 Subject: [PATCH] LU-17905 kernel: new kernel [SLES15 SP6 6.4.0-150600.23.14.2] This patch makes changes to support new SLES15 SP6 release with kernel 6.4.0-150600.23.14.2 for Lustre client. In Lustre test suites, there are some subtests using filefrag from Lustre-patched e2fsprogs. This patch adds checks in those subtests to skip them if the Lustre-patched e2fsprogs is not installed on Lustre client. Test-Parameters: trivial mdtcount=4 mdscount=2 \ env=SANITY_EXCEPT="27J 103a 244a" \ clientdistro=sles15sp6 testlist=sanity Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-1 Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-2 Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-3 Change-Id: Ib9159d200122595d0a56e3581cfc66d75ddb59f6 Signed-off-by: Jian Yu Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55563 Tested-by: Maloo Tested-by: jenkins Reviewed-by: Shaun Tancheff Reviewed-by: Yang Sheng Reviewed-by: Oleg Drokin --- contrib/lbuild/funcs.sh | 1 + contrib/lbuild/lbuild-sles15 | 4 +++ lustre.spec.in | 5 +++ lustre/ChangeLog | 1 + lustre/autoconf/lustre-core.m4 | 1 + .../kernel_patches/targets/6.4-sles15sp6.target.in | 37 ++++++++++++++++++++++ lustre/tests/sanity-compr.sh | 3 ++ lustre/tests/sanity-hsm.sh | 3 ++ lustre/tests/sanity-pfl.sh | 2 ++ lustre/tests/sanity-sec.sh | 3 ++ lustre/tests/sanity.sh | 6 ++-- 11 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 lustre/kernel_patches/targets/6.4-sles15sp6.target.in diff --git a/contrib/lbuild/funcs.sh b/contrib/lbuild/funcs.sh index 1627f0c..6453a46 100644 --- a/contrib/lbuild/funcs.sh +++ b/contrib/lbuild/funcs.sh @@ -223,6 +223,7 @@ autodetect_target() { sles15.3) target="$(uname -r | cut -d . -f 1,2)-sles15sp3";; sles15.4) target="$(uname -r | cut -d . -f 1,2)-sles15sp4";; sles15.5) target="$(uname -r | cut -d . -f 1,2)-sles15sp5";; + sles15.6) target="$(uname -r | cut -d . -f 1,2)-sles15sp6";; fc18) target="3.x-fc18";; oe2203) target="5.10-oe2203";; oe2203.sp1) target="5.10-oe2203sp1";; diff --git a/contrib/lbuild/lbuild-sles15 b/contrib/lbuild/lbuild-sles15 index 2bc2df8..33eca62 100644 --- a/contrib/lbuild/lbuild-sles15 +++ b/contrib/lbuild/lbuild-sles15 @@ -45,6 +45,10 @@ get_distro_kdir() { ;; esac ;; + 6.4) + distro=sles15.6 + kdir=updates-sles15.6-src + ;; esac case $1 in diff --git a/lustre.spec.in b/lustre.spec.in index e875b7b..e157c0c 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -490,8 +490,13 @@ BuildRequires: mpich-devel %if "%{_vendor}" == "redhat" || 0%{?openEuler} || 0%{?suse_version} < 1500 BuildRequires: openmpi-devel %else +%if 0%{?sle_version} && 0%{?sle_version} >= 150600 +BuildRequires: openmpi4-devel +%else BuildRequires: openmpi2-devel %endif +# openmpi-devel +%endif # openmpi %endif # mpi diff --git a/lustre/ChangeLog b/lustre/ChangeLog index dc9e00e..250d474 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -43,6 +43,7 @@ TBD Whamcloud 4.18.0-513.24.1.el8 (RHEL8.9) 4.18.0-477.27.1.el8 (RHEL8.8) 5.4.0-37 (Ubuntu 20.04) + 6.4.0-150600.23.14 (SLES15 SP6) 5.14.21-150500.55.68 (SLES15 SP5) * Other clients known to build on these kernels at some point (others may also work): 3.10.0-862.14.4.el7 (RHEL7.5) diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index af8c98e..b6d5423 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -5678,6 +5678,7 @@ lustre/kernel_patches/targets/5.3-sles15sp2.target lustre/kernel_patches/targets/5.3-sles15sp3.target lustre/kernel_patches/targets/5.14-sles15sp4.target lustre/kernel_patches/targets/5.14-sles15sp5.target +lustre/kernel_patches/targets/6.4-sles15sp6.target lustre/kernel_patches/targets/3.x-fc18.target lustre/kernel_patches/targets/5.10-oe2203.target lustre/kernel_patches/targets/5.10-oe2203sp1.target diff --git a/lustre/kernel_patches/targets/6.4-sles15sp6.target.in b/lustre/kernel_patches/targets/6.4-sles15sp6.target.in new file mode 100644 index 0000000..2995c3d --- /dev/null +++ b/lustre/kernel_patches/targets/6.4-sles15sp6.target.in @@ -0,0 +1,37 @@ +lnxmaj="6.4" +lnxmin=".0" +lnxrel="150600.23.14" +# use this when there is an "RPM fix" which means that the name of the +# (source) RPM has been updated but the version of the kernel inside the +# RPM is not also updated +rpmfix=".2" + +# this is the delimeter that goes before the "smp" at the end of the version +# defaults to empty +FLAVOR_DELIMITER="-" + +KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm +SERIES="" +VERSION=$lnxmaj +EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" +LUSTRE_VERSION=@VERSION@ + +OFED_VERSION=inkernel + +BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" +BIGMEM_ARCHS="" +BOOT_ARCHS="" +JENSEN_ARCHS="" +DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" +BIGSMP_ARCHS="" +PSERIES64_ARCHS="ppc" +UP_ARCHS="" +SRC_ARCHS="" +#RPMSMPTYPE="smp" + +for cc in gcc ; do + if which $cc >/dev/null 2>/dev/null ; then + export CC=$cc + break + fi +done diff --git a/lustre/tests/sanity-compr.sh b/lustre/tests/sanity-compr.sh index 135ceba..c6b2029 100644 --- a/lustre/tests/sanity-compr.sh +++ b/lustre/tests/sanity-compr.sh @@ -50,6 +50,9 @@ test_sanityn() run_test sanityn "Run sanityn with PFL layout" test_1000() { + local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option") + [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering" + local blocks=128 local dense=$(do_facet ost1 lctl get_param -n \ osd*.*OST0000*.extents_dense) diff --git a/lustre/tests/sanity-hsm.sh b/lustre/tests/sanity-hsm.sh index 906d13e..3d20fde 100755 --- a/lustre/tests/sanity-hsm.sh +++ b/lustre/tests/sanity-hsm.sh @@ -4501,6 +4501,9 @@ test_227() { run_test 227 "changelog when explicit setting of HSM flags" test_228() { + local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option") + [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering" + # test needs a running copytool copytool setup mkdir_on_mdt0 $DIR/$tdir diff --git a/lustre/tests/sanity-pfl.sh b/lustre/tests/sanity-pfl.sh index a09dbce..268f851 100755 --- a/lustre/tests/sanity-pfl.sh +++ b/lustre/tests/sanity-pfl.sh @@ -2466,6 +2466,8 @@ cleanup_24() { } test_24a() { + local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option") + [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering" [ "$OSTCOUNT" -lt "3" ] && skip_env "needs >= 3 OSTs" trap cleanup_24 EXIT RETURN diff --git a/lustre/tests/sanity-sec.sh b/lustre/tests/sanity-sec.sh index f540ace..867df37 100755 --- a/lustre/tests/sanity-sec.sh +++ b/lustre/tests/sanity-sec.sh @@ -5090,6 +5090,9 @@ test_55() { run_test 55 "access with seteuid" test_56() { + local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option") + [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering" + local testfile=$DIR/$tdir/$tfile [[ $(facet_fstype ost1) == zfs ]] && skip "skip ZFS backend" diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh index 064e7d6..78ab98c 100755 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -11598,6 +11598,8 @@ check_filefrag_77n() { } test_77n() { + local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option") + [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering" [[ "$CKSUM_TYPES" =~ t10 ]] || skip "no T10 checksum support on osc" touch $DIR/$tfile @@ -16264,8 +16266,8 @@ cleanup_130() { } test_130a() { - local filefrag_op=$(filefrag -e 2>&1 | grep "invalid option") - [[ -z "$filefrag_op" ]] || skip_env "filefrag does not support FIEMAP" + local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option") + [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering" trap cleanup_130 EXIT RETURN -- 1.8.3.1