--- /dev/null
+--- linux-4.18/fs/ext4/mballoc.c 2019-11-28 14:55:26.500545920 +0300
++++ linux-4.18/fs/ext4/mballoc.c 2019-11-28 14:53:18.600086008 +0300
+@@ -2060,7 +2060,15 @@ static int ext4_mb_good_group(struct
+
+ /* We only do this if the grp has never been initialized */
+ if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
+- int ret = ext4_mb_init_group(ac->ac_sb, group);
++ int ret;
++
++ /* cr=0/1 is a very optimistic search to find large
++ * good chunks almost for free. if buddy data is
++ * not ready, then this optimization makes no sense */
++
++ if (cr < 2)
++ return 0;
++ ret = ext4_mb_init_group(ac->ac_sb, group);
+ if (ret)
+ return ret;
+ }
--- /dev/null
+--- linux-4.18/fs/ext4/mballoc.c 2019-11-28 14:55:26.500545920 +0300
++++ linux-4.18/fs/ext4/mballoc.c 2019-11-28 14:53:18.600086008 +0300
+@@ -2060,7 +2060,15 @@ static int ext4_mb_good_group(struct
+
+ /* We only do this if the grp has never been initialized */
+ if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
+- int ret = ext4_mb_init_group(ac->ac_sb, group, GFP_NOFS);
++ int ret;
++
++ /* cr=0/1 is a very optimistic search to find large
++ * good chunks almost for free. if buddy data is
++ * not ready, then this optimization makes no sense */
++
++ if (cr < 2)
++ return 0;
++ ret = ext4_mb_init_group(ac->ac_sb, group, GFP_NOFS);
+ if (ret)
+ return ret;
+ }
rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7/ext4-include-terminating-u32-in-size-of-xattr-entries-when-expanding-inodes.patch
rhel7/ext4-optimize-ext4_find_delalloc_range-in-nodelalloc.patch
+rhel7/ext4-mballoc-skip-uninit-groups-cr0.patch
rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7/ext4-include-terminating-u32-in-size-of-xattr-entries-when-expanding-inodes.patch
rhel7/ext4-optimize-ext4_find_delalloc_range-in-nodelalloc.patch
+rhel7/ext4-mballoc-skip-uninit-groups-cr0.patch
rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7/ext4-include-terminating-u32-in-size-of-xattr-entries-when-expanding-inodes.patch
rhel7/ext4-optimize-ext4_find_delalloc_range-in-nodelalloc.patch
+rhel7/ext4-mballoc-skip-uninit-groups-cr0.patch
rhel7/ext4-include-terminating-u32-in-size-of-xattr-entries-when-expanding-inodes.patch
rhel7.2/ext4-export-mb-stream-allocator-variables.patch
rhel7/ext4-optimize-ext4_find_delalloc_range-in-nodelalloc.patch
+rhel7/ext4-mballoc-skip-uninit-groups-cr0.patch
rhel7.2/ext4-export-mb-stream-allocator-variables.patch
rhel7/ext4-optimize-ext4_find_delalloc_range-in-nodelalloc.patch
rhel7.2/ext4-simple-blockalloc.patch
+rhel7/ext4-mballoc-skip-uninit-groups-cr0.patch
rhel7/ext4-optimize-ext4_find_delalloc_range-in-nodelalloc.patch
rhel7.7/ext4-fix-project-with-unpatched-kernel.patch
rhel7.2/ext4-simple-blockalloc.patch
+rhel7/ext4-mballoc-skip-uninit-groups-cr0.patch
rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7/ext4-include-terminating-u32-in-size-of-xattr-entries-when-expanding-inodes.patch
rhel7/ext4-optimize-ext4_find_delalloc_range-in-nodelalloc.patch
+rhel7/ext4-mballoc-skip-uninit-groups-cr0.patch
ubuntu18/ext4-include-terminating-u32-in-size-of-xattr-entries-when-expanding-inodes.patch
rhel8/ext4-export-mb-stream-allocator-variables.patch
rhel8/ext4-simple-blockalloc.patch
+rhel8/ext4-mballoc-skip-uninit-groups-cr0.patch