/*
* 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);
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;
- }
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);
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 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;
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
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)
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)
#
# 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
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
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
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
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)