summaryrefslogtreecommitdiffstats
path: root/Documentation/target
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2019-02-11 19:30:32 +0100
committerTheodore Ts'o <tytso@mit.edu>2019-02-11 19:30:32 +0100
commitf96c3ac8dfc24b4e38fc4c2eba5fea2107b929d1 (patch)
treec538d0bf978b614e228b40e293823807e3f2ef05 /Documentation/target
parentext4: disallow files with EXT4_JOURNAL_DATA_FL from EXT4_IOC_SWAP_BOOT (diff)
downloadlinux-f96c3ac8dfc24b4e38fc4c2eba5fea2107b929d1.tar.xz
linux-f96c3ac8dfc24b4e38fc4c2eba5fea2107b929d1.zip
ext4: fix crash during online resizing
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. Fixes: 1c6bd7173d66 "ext4: convert file system to meta_bg if needed..." Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@vger.kernel.org
Diffstat (limited to 'Documentation/target')
0 files changed, 0 insertions, 0 deletions