From: Jian Yu Date: Thu, 22 May 2025 06:40:56 +0000 (-0700) Subject: LU-19040 kernel: update SLES15 SP6 [6.4.0-150600.23.50.1] X-Git-Tag: 2.15.7-RC2~4 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=83f7a198c4a5886c958663957d914239731c4b6d;p=fs%2Flustre-release.git LU-19040 kernel: update SLES15 SP6 [6.4.0-150600.23.50.1] Update SLES15 SP6 kernel to 6.4.0-150600.23.50.1 for Lustre client. Lustre-change: https://review.whamcloud.com/59368 Lustre-commit: TBD (from a470380feef87413575d189e548a1a7c82ef0da4) 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. Lustre-change: https://review.whamcloud.com/55563 Lustre-commit: 020e361cfdbad529e31525052e660268d7bd976d Was-Change-Id: Ib9159d200122595d0a56e3581cfc66d75ddb59f6 LU-18102 tests: skip read/write in sanity/27J for some kernels Kernel commit v5.11-10234-gcbd59c48ae2b (5.12) skips filemap_read() with 0 file size, commit v6.2-rc4-61-g5956592ce337 (6.2) just correct the last page read in filemap_read(), it still skips the real file read with 0 sized file. Lustre-change: https://review.whamcloud.com/55977 Lustre-commit: adb3d20f3c8d3a720b293d3d5977a1849a9e0cb7 Was-Change-Id: I1c562cce1374df7659c8d178fb3601e4dfb01744 Fixes: b711af7d24 ("LU-16101 tests: skip sanity/27J for more kernels") Signed-off-by: Bobi Jam Test-Parameters: trivial mdtcount=4 mdscount=2 \ clientdistro=sles15sp6 testlist=sanity Test-Parameters: optional mdtcount=4 mdscount=2 \ clientdistro=sles15sp6 testgroup=full-dne-part-1 Test-Parameters: optional mdtcount=4 mdscount=2 \ clientdistro=sles15sp6 testgroup=full-dne-part-2 Test-Parameters: optional mdtcount=4 mdscount=2 \ clientdistro=sles15sp6 testgroup=full-dne-part-3 Change-Id: Ie2d530f0edb28326bbcbd1326f40e3e7db845c21 Signed-off-by: Jian Yu Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/59369 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Yang Sheng Reviewed-by: Alex Deiter Reviewed-by: Oleg Drokin --- diff --git a/contrib/lbuild/funcs.sh b/contrib/lbuild/funcs.sh index 3170810..977721d 100644 --- a/contrib/lbuild/funcs.sh +++ b/contrib/lbuild/funcs.sh @@ -211,6 +211,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";; *) fatal 1 "I don't know what distro $distro is.\nEither update autodetect_target() or use the --target argument.";; esac 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 52e60d9..e4917e3 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -389,8 +389,13 @@ BuildRequires: mpich-devel %if "%{_vendor}" == "redhat" || 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 22ecee8..dac2b54 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -39,8 +39,8 @@ TBD Whamcloud 4.18.0-477.27.1.el8 (RHEL8.8) 5.15.0-88 (Ubuntu 22.04) 5.4.0-110 (Ubuntu 20.04) + 6.4.0-150600.23.50 (SLES15 SP6) 5.14.21-150500.55.65 (SLES15 SP5) - 5.14.21-150400.24.100 (SLES15 SP4) * 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) @@ -67,6 +67,7 @@ TBD Whamcloud 4.12.14-197.75 (SLES15 SP1) 5.3.18-24.96 (SLES15 SP2) 5.3.18-150300.59.93 (SLES15 SP3) + 5.14.21-150400.24.100 (SLES15 SP4) 4.4.0-131 (Ubuntu 16.04) 4.15.0-48 (Ubuntu 18.04) 5.8.0-53 (Ubuntu 20.04.2 HWE) diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 98f5bcb..6603063 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -5119,6 +5119,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/ldlm/Makefile lustre/fid/Makefile 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..b9a3fd1 --- /dev/null +++ b/lustre/kernel_patches/targets/6.4-sles15sp6.target.in @@ -0,0 +1,37 @@ +lnxmaj="6.4" +lnxmin=".0" +lnxrel="150600.23.50" +# 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=".1" + +# 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.sh b/lustre/tests/sanity.sh index c5ada84..0ebddac 100755 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -2789,11 +2789,6 @@ test_27J() { (( $MDS1_VERSION > $(version_code 2.12.51) )) || skip "Need MDS version newer than 2.12.51" - # skip basic ops on file with foreign LOV tests on 5.12-6.2 kernels - # until the filemap_read() issue is fixed by v6.2-rc4-61-g5956592ce337 - (( $LINUX_VERSION_CODE < $(version_code 5.12.0) || - $LINUX_VERSION_CODE >= $(version_code 6.2.0) )) || - skip "Need kernel < 5.12.0 or >= 6.2.0 for filemap_read() fix" test_mkdir $DIR/$tdir local uuid1=$(cat /proc/sys/kernel/random/uuid) @@ -2862,14 +2857,19 @@ test_27J() { $LFS setstripe -c 2 $DIR/$tdir/${tfile}2 && error "$DIR/$tdir/${tfile}2: setstripe should fail" - # R/W should fail - cat $DIR/$tdir/$tfile && error "$DIR/$tdir/$tfile: read should fail" - cat $DIR/$tdir/${tfile}2 && - error "$DIR/$tdir/${tfile}2: read should fail" - cat /etc/passwd > $DIR/$tdir/$tfile && - error "$DIR/$tdir/$tfile: write should fail" - cat /etc/passwd > $DIR/$tdir/${tfile}2 && - error "$DIR/$tdir/${tfile}2: write should fail" + # skip basic ops on file with foreign LOV tests on >5.12 kernels + (( $LINUX_VERSION_CODE < $(version_code 5.12.0) )) && { + # kernel >= 5.12.0 would skip filemap_read() with 0 sized file + # R/W should fail + cat $DIR/$tdir/$tfile && + error "$DIR/$tdir/$tfile: read should fail" + cat $DIR/$tdir/${tfile}2 && + error "$DIR/$tdir/${tfile}2: read should fail" + cat /etc/passwd > $DIR/$tdir/$tfile && + error "$DIR/$tdir/$tfile: write should fail" + cat /etc/passwd > $DIR/$tdir/${tfile}2 && + error "$DIR/$tdir/${tfile}2: write should fail" + } # chmod should work chmod 222 $DIR/$tdir/$tfile ||