• E
    ext4: fix bogus BUG_ONs in in mballoc code · 8d03c7a0
    Eric Sandeen 提交于
    Thiemo Nagel reported that:
    
    # dd if=/dev/zero of=image.ext4 bs=1M count=2
    # mkfs.ext4 -v -F -b 1024 -m 0 -g 512 -G 4 -I 128 -N 1 \
      -O large_file,dir_index,flex_bg,extent,sparse_super image.ext4
    # mount -o loop image.ext4 mnt/
    # dd if=/dev/zero of=mnt/file
    
    oopsed, with a BUG_ON in ext4_mb_normalize_request because
    size == EXT4_BLOCKS_PER_GROUP
    
    It appears to me (esp. after talking to Andreas) that the BUG_ON
    is bogus; a request of exactly EXT4_BLOCKS_PER_GROUP should
    be allowed, though larger sizes do indicate a problem.
    
    Fix that an another (apparently rare) codepath with a similar check.
    Reported-by: NThiemo Nagel <thiemo.nagel@ph.tum.de>
    Signed-off-by: NEric Sandeen <sandeen@redhat.com>
    Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
    8d03c7a0
mballoc.c 135.1 KB