On Thu, Feb 09, 2017 at 04:30:49PM +0100, Jan Kara wrote: > When a filesystem is created using: > > mkfs.ext4 -b 4096 -E stride=512 <dev> > > and we try to allocate 64MB extent, we will end up directly in > ext4_mb_complex_scan_group(). This is because the request is detected as > power-of-two allocation (so we start in ext4_mb_regular_allocator() > with ac_criteria == 0) however the check before > ext4_mb_simple_scan_group() refuses the direct buddy scan because the > allocation request is too large. Since cr == 0, the check whether we > should use ext4_mb_scan_aligned() fails as well and we fall back to > ext4_mb_complex_scan_group(). > > Fix the problem by checking for upper limit on power-of-two requests > directly when detecting them. > > Reported-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> > Signed-off-by: Jan Kara <jack@xxxxxxx> Thanks, applied. - Ted