]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: fix online resize's handling of a too-small final block group
authorTheodore Ts'o <tytso@mit.edu>
Tue, 4 Sep 2018 02:19:43 +0000 (22:19 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 4 Sep 2018 02:19:43 +0000 (22:19 -0400)
commitaae12c1adcaca67d86fb3ac6cafb35d00eff9b96
tree2ad888eda367573e04aa0a9c5f21d43175c54dd2
parent92bfb59acf33805bd591b7268e5a57a21c3a88c8
ext4: fix online resize's handling of a too-small final block group

Avoid growing the file system to an extent so that the last block
group is too small to hold all of the metadata that must be stored in
the block group.

This problem can be triggered with the following reproducer:

umount /mnt
mke2fs -F -m0 -b 4096 -t ext4 -O resize_inode,^has_journal \
-E resize=1073741824 /tmp/foo.img 128M
mount /tmp/foo.img /mnt
truncate --size 1708M /tmp/foo.img
resize2fs /dev/loop0 295400
umount /mnt
e2fsck -fy /tmp/foo.img

Reported-by: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org
fs/ext4/resize.c