ext4: properly handle error of ext4_init_block_bitmap in ext4_read_block_bitmap_nowait
authorKemeng Shi <shikemeng@huaweicloud.com>
Tue, 21 Feb 2023 11:59:13 +0000 (19:59 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 24 Mar 2023 03:00:07 +0000 (23:00 -0400)
commitb5aa06bfe9ad13c75d425839ee2aca045e3c688c
treee58d802c6bbc331a2cc89beb0601263700e3224a
parent98ccceee3e0637a37e20c1c12a08173663db77e7
ext4: properly handle error of ext4_init_block_bitmap in ext4_read_block_bitmap_nowait

We mark buffer_head of bitmap successfully initialized even error occurs
in ext4_init_block_bitmap. Although we will return error, we will get a
invalid buffer_head of bitmap from next ext4_read_block_bitmap_nowait
which is marked buffer_verified but not successfully initialized actually
in previous ext4_read_block_bitmap_nowait.
Fix this by only marking buffer_head successfully initialized if
ext4_init_block_bitmap successes.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Link: https://lore.kernel.org/r/20230221115919.1918161-2-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/balloc.c