From a1caf1f6af959ac7a12acddabe58539f180b9c96 Mon Sep 17 00:00:00 2001 From: Bob Glossman Date: Thu, 31 May 2018 06:57:52 -0700 Subject: [PATCH] LU-11065 kernel: kernel update [SLES12 SP3 4.4.132-94.33] Update target, kernel_config, and ldiskfs files for new version One ldiskfs patch revised for ext4 changes. Old unchanged ldiskfs patch kept to use for sles12sp2. Test-Parameters: clientdistro=sles12sp3 testgroup=review-ldiskfs \ mdsdistro=sles12sp3 ossdistro=sles12sp3 \ mdtfilesystemtype=ldiskfs ostfilesystemtype=ldiskfs Signed-off-by: Bob Glossman Change-Id: Ic6d0219a7133825d1dba0b2bfadf8354442cddb3 Reviewed-on: https://review.whamcloud.com/32599 Reviewed-by: Yang Sheng Reviewed-by: Minh Diep Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- ...pted-inode-block-bitmaps-handling-patches.patch | 29 ++++++++-------- ...pted-inode-block-bitmaps-handling-patches.patch | 39 ---------------------- .../series/ldiskfs-4.4-sles12sp2.series | 2 +- lustre/ChangeLog | 4 +-- .../kernel-4.4-4.4-sles12sp3-x86_64.config | 5 ++- .../kernel_patches/targets/4.4-sles12sp3.target.in | 10 ++---- lustre/kernel_patches/which_patch | 2 +- 7 files changed, 24 insertions(+), 67 deletions(-) diff --git a/ldiskfs/kernel_patches/patches/sles12sp2/ext4-corrupted-inode-block-bitmaps-handling-patches.patch b/ldiskfs/kernel_patches/patches/sles12sp2/ext4-corrupted-inode-block-bitmaps-handling-patches.patch index 03ef2d3..90b5dea 100644 --- a/ldiskfs/kernel_patches/patches/sles12sp2/ext4-corrupted-inode-block-bitmaps-handling-patches.patch +++ b/ldiskfs/kernel_patches/patches/sles12sp2/ext4-corrupted-inode-block-bitmaps-handling-patches.patch @@ -267,7 +267,7 @@ index 7282d07..e6805e6 100644 /* * pa is already deleted so we use the value obtained * from the bitmap and continue. -@@ -4031,14 +4034,11 @@ ext4_mb_discard_group_preallocations(struct super_block *sb, +@@ -4031,15 +4034,11 @@ ext4_mb_discard_group_preallocations(struct super_block *sb, bitmap_bh = ext4_read_block_bitmap(sb, group); if (IS_ERR(bitmap_bh)) { err = PTR_ERR(bitmap_bh); @@ -278,17 +278,18 @@ index 7282d07..e6805e6 100644 err = ext4_mb_load_buddy(sb, group, &e4b); if (err) { -- ext4_error(sb, "Error loading buddy information for %u", group); +- ext4_warning(sb, "Error %d loading buddy information for %u", +- err, group); put_bh(bitmap_bh); return 0; } @@ -4198,17 +4198,12 @@ repeat: - group = ext4_get_group_number(sb, pa->pa_pstart); - err = ext4_mb_load_buddy(sb, group, &e4b); + err = ext4_mb_load_buddy_gfp(sb, group, &e4b, + GFP_NOFS|__GFP_NOFAIL); - if (err) { -- ext4_error(sb, "Error loading buddy information for %u", -- group); +- ext4_error(sb, "Error %d loading buddy information for %u", +- err, group); + if (err) return; - } @@ -302,13 +303,13 @@ index 7282d07..e6805e6 100644 continue; } @@ -4467,11 +4462,8 @@ ext4_mb_discard_lg_preallocations(struct super_block *sb, - list_for_each_entry_safe(pa, tmp, &discard_list, u.pa_tmp_list) { - group = ext4_get_group_number(sb, pa->pa_pstart); -- if (ext4_mb_load_buddy(sb, group, &e4b)) { -- ext4_error(sb, "Error loading buddy information for %u", -- group); -+ if (ext4_mb_load_buddy(sb, group, &e4b)) + err = ext4_mb_load_buddy_gfp(sb, group, &e4b, + GFP_NOFS|__GFP_NOFAIL); +- if (err) { +- ext4_error(sb, "Error %d loading buddy information for %u", +- err, group); ++ if (err) continue; - } ext4_lock_group(sb, group); @@ -389,8 +390,8 @@ index 7282d07..e6805e6 100644 ret = ext4_mb_load_buddy(sb, group, &e4b); - if (ret) { -- ext4_error(sb, "Error in loading buddy " -- "information for %u", group); +- ext4_warning(sb, "Error %d loading buddy information for %u", +- ret, group); + if (ret) return ret; - } diff --git a/ldiskfs/kernel_patches/patches/sles12sp3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch b/ldiskfs/kernel_patches/patches/sles12sp3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch index 90b5dea..c45cb87 100644 --- a/ldiskfs/kernel_patches/patches/sles12sp3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch +++ b/ldiskfs/kernel_patches/patches/sles12sp3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch @@ -124,45 +124,6 @@ diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c index fc65310..92bcc8d 100644 --- a/fs/ext4/ialloc.c +++ b/fs/ext4/ialloc.c -@@ -70,25 +70,15 @@ static unsigned ext4_init_inode_bitmap(struct super_block *sb, - ext4_group_t block_group, - struct ext4_group_desc *gdp) - { -- struct ext4_group_info *grp; -- struct ext4_sb_info *sbi = EXT4_SB(sb); - J_ASSERT_BH(bh, buffer_locked(bh)); - - /* If checksum is bad mark all blocks and inodes use to prevent - * allocation, essentially implementing a per-group read-only flag. */ - if (!ext4_group_desc_csum_verify(sb, block_group, gdp)) { -- grp = ext4_get_group_info(sb, block_group); -- if (!EXT4_MB_GRP_BBITMAP_CORRUPT(grp)) -- percpu_counter_sub(&sbi->s_freeclusters_counter, -- grp->bb_free); -- set_bit(EXT4_GROUP_INFO_BBITMAP_CORRUPT_BIT, &grp->bb_state); -- if (!EXT4_MB_GRP_IBITMAP_CORRUPT(grp)) { -- int count; -- count = ext4_free_inodes_count(sb, gdp); -- percpu_counter_sub(&sbi->s_freeinodes_counter, -- count); -- } -- set_bit(EXT4_GROUP_INFO_IBITMAP_CORRUPT_BIT, &grp->bb_state); -+ ext4_corrupted_block_group(sb, block_group, -+ EXT4_GROUP_INFO_BBITMAP_CORRUPT | -+ EXT4_GROUP_INFO_IBITMAP_CORRUPT, -+ "Checksum bad for group %u", block_group); - return -EFSBADCRC; - } - -@@ -193,8 +180,6 @@ verify: - ext4_unlock_group(sb, block_group); - unlock_buffer(bh); - if (err) { -- ext4_error(sb, "Failed to init inode bitmap for group " -- "%u: %d", block_group, err); - goto out; - } - return bh; @@ -337,14 +318,9 @@ out: if (!fatal) fatal = err; diff --git a/ldiskfs/kernel_patches/series/ldiskfs-4.4-sles12sp2.series b/ldiskfs/kernel_patches/series/ldiskfs-4.4-sles12sp2.series index 17c80e6..737ef42 100644 --- a/ldiskfs/kernel_patches/series/ldiskfs-4.4-sles12sp2.series +++ b/ldiskfs/kernel_patches/series/ldiskfs-4.4-sles12sp2.series @@ -16,7 +16,7 @@ sles12sp2/ext4-large-dir.patch sles12sp2/ext4-pdirop.patch sles12sp2/ext4-max-dir-size.patch rhel7/ext4-remove-truncate-warning.patch -sles12sp3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch +sles12sp2/ext4-corrupted-inode-block-bitmaps-handling-patches.patch sles12sp2/ext4-give-warning-with-dir-htree-growing.patch sles12sp2/ext4-mmp-brelse.patch rhel7/ext4-jcb-optimization.patch diff --git a/lustre/ChangeLog b/lustre/ChangeLog index f74659f..e8c4cfd 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -13,7 +13,7 @@ TBD Intel Corporation 3.0.101-107 (SLES11 SP4) 3.12.74-60.64.40 (SLES12 SP1) 4.4.120-92.70 (SLES12 SP2) - 4.4.126-94.22 (SLES12 SP3) + 4.4.132-94.33 (SLES12 SP3) 3.13.0-101 (Ubuntu 14.04, ZFS only) 4.4.0-85.108 (Ubuntu 14.04.5 LTS) 4.4.0-116 (Ubuntu 16.04) @@ -29,7 +29,7 @@ TBD Intel Corporation 3.0.101-107 (SLES11 SP4) 3.12.74-60.64.40 (SLES12 SP1) 4.4.120-92.70 (SLES12 SP2) - 4.4.126-94.22 (SLES12 SP3) + 4.4.133-94.33 (SLES12 SP3) 3.13.0-101 (Ubuntu 14.04) 4.4.0-85.108 (Ubuntu 14.04.5 LTS) 4.4.0-116 (Ubuntu 16.04) diff --git a/lustre/kernel_patches/kernel_configs/kernel-4.4-4.4-sles12sp3-x86_64.config b/lustre/kernel_patches/kernel_configs/kernel-4.4-4.4-sles12sp3-x86_64.config index e2d2dc0..ec11c32 100644 --- a/lustre/kernel_patches/kernel_configs/kernel-4.4-4.4-sles12sp3-x86_64.config +++ b/lustre/kernel_patches/kernel_configs/kernel-4.4-4.4-sles12sp3-x86_64.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.4.126 Kernel Configuration +# Linux/x86 4.4.132 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -37,7 +37,6 @@ CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_HAVE_INTEL_TXT=y CONFIG_X86_64_SMP=y -CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_PGTABLE_LEVELS=4 @@ -54,7 +53,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="-94.22-default" +CONFIG_LOCALVERSION="-94.33-default" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y diff --git a/lustre/kernel_patches/targets/4.4-sles12sp3.target.in b/lustre/kernel_patches/targets/4.4-sles12sp3.target.in index e2b44c0..4475456 100644 --- a/lustre/kernel_patches/targets/4.4-sles12sp3.target.in +++ b/lustre/kernel_patches/targets/4.4-sles12sp3.target.in @@ -1,14 +1,10 @@ lnxmaj="4.4" -lnxmin=".126" -lnxrel="94.22" +lnxmin=".132" +lnxrel="94.33" # 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" -# for some odd reasons (bug??) -devel and source have different fix -# so we'll add another one to detect this, make it the same or remove -# this change they fix the bug -rpmfix_diff=".1" +rpmfix=".1" # this is the delimeter that goes before the "smp" at the end of the version # defaults to empty diff --git a/lustre/kernel_patches/which_patch b/lustre/kernel_patches/which_patch index 9171558..8aedf36 100644 --- a/lustre/kernel_patches/which_patch +++ b/lustre/kernel_patches/which_patch @@ -23,7 +23,7 @@ PATCH SERIES FOR SERVER KERNELS: 3.0-sles11sp3.series 3.0.101-107 (SLES11 SP4) 3.12-sles12.series 3.12.74-60.64.40 (SLES12 SP1) 4.4-sles12.series 4.4.120-92.70 (SLES12 SP2) -4.4-sles12sp3.series 4.4.126-94.22 (SLES12 SP3) +4.4-sles12sp3.series 4.4.132-94.33 (SLES12 SP3) 4.4-ubuntu14+16.series 4.4.0-85.108 (Ubuntu 14.04.5 LTS) 4.4-ubuntu14+16.series 4.4.0-85.108 (Ubuntu 16.04) -- 1.8.3.1