Whamcloud - gitweb
LU-11065 kernel: kernel update [SLES12 SP3 4.4.132-94.33] 00/32600/2
authorBob Glossman <bob.glossman@intel.com>
Thu, 31 May 2018 13:57:52 +0000 (06:57 -0700)
committerJohn L. Hammond <john.hammond@intel.com>
Mon, 11 Jun 2018 20:35:39 +0000 (20:35 +0000)
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 <bob.glossman@intel.com>
Change-Id: Ic6d0219a7133825d1dba0b2bfadf8354442cddb3
Reviewed-on: https://review.whamcloud.com/32600
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Tested-by: Jenkins
Reviewed-by: Minh Diep <minh.diep@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
ldiskfs/kernel_patches/patches/sles12sp2/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ldiskfs/kernel_patches/patches/sles12sp3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ldiskfs/kernel_patches/series/ldiskfs-4.4-sles12sp2.series
lustre/ChangeLog
lustre/kernel_patches/kernel_configs/kernel-4.4-4.4-sles12sp3-x86_64.config
lustre/kernel_patches/targets/4.4-sles12sp3.target.in
lustre/kernel_patches/which_patch

index 03ef2d3..90b5dea 100644 (file)
@@ -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;
 -      }
index 90b5dea..c45cb87 100644 (file)
@@ -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;
index 1bbca1a..ad382f1 100644 (file)
@@ -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
index 2ba993f..356c68a 100644 (file)
@@ -13,7 +13,7 @@
          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)
          vanilla linux 4.6.7 (ZFS only)
        * Client known to build on unpatched kernels:
          2.6.32-431.29.2.el6 (RHEL6.5)
@@ -26,7 +26,7 @@
          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)
          4.4.0-116           (Ubuntu 16.04)
          vanilla linux 4.6.7
        * Recommended e2fsprogs version: 1.42.13.wc6 or newer
index e2d2dc0..ec11c32 100644 (file)
@@ -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
index e2b44c0..4475456 100644 (file)
@@ -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
index 8a496ab..dd067e6 100644 (file)
@@ -23,6 +23,6 @@ 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)
 
 See lustre/ChangeLog for supported client kernel versions.