On Thu, Jan 24, 2019 at 05:26:06PM +0100, Jan Kara wrote: > When computing maximum size of filesystem possible with given number of > group descriptor blocks, we forget to include s_first_data_block into > the number of blocks. Thus for filesystems with non-zero > s_first_data_block it can happen that computed maximum filesystem size > is actually lower than current filesystem size which confuses the code > and eventually leads to a BUG_ON in ext4_alloc_group_tables() hitting on > flex_gd->count == 0. The problem can be reproduced like: > > truncate -s 100g /tmp/image > mkfs.ext4 -b 1024 -E resize=262144 /tmp/image 32768 > mount -t ext4 -o loop /tmp/image /mnt > resize2fs /dev/loop0 262145 > resize2fs /dev/loop0 300000 > > Fix the problem by properly including s_first_data_block into the > computed number of filesystem blocks. > > CC: stable@xxxxxxxxxxxxxxx > Fixes: 1c6bd7173d66 "ext4: convert file system to meta_bg if needed..." > Signed-off-by: Jan Kara <jack@xxxxxxx> Thanks, applied. - Ted