Skip to content

Commit 1948279

Browse files
Kemeng Shitytso
authored andcommitted
Revert "ext4: remove unnecessary check in ext4_bg_num_gdb_nometa"
This reverts commit ad3f09b. The reverted commit was intended to simpfy the code to get group descriptor block number in non-meta block group by assuming s_gdb_count is block number used for all non-meta block group descriptors. However s_gdb_count is block number used for all meta *and* non-meta group descriptors. So s_gdb_group will be > actual group descriptor block number used for all non-meta block group which should be "total non-meta block group" / "group descriptors per block", e.g. s_first_meta_bg. Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com> Link: https://lore.kernel.org/r/20230613225025.3859522-1-shikemeng@huaweicloud.com Fixes: ad3f09b ("ext4: remove unnecessary check in ext4_bg_num_gdb_nometa") Cc: stable@kernel.org Signed-off-by: Theodore Ts'o <tytso@mit.edu>
1 parent dea9d8f commit 1948279

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

fs/ext4/balloc.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,10 @@ static unsigned long ext4_bg_num_gdb_nometa(struct super_block *sb,
886886
if (!ext4_bg_has_super(sb, group))
887887
return 0;
888888

889-
return EXT4_SB(sb)->s_gdb_count;
889+
if (ext4_has_feature_meta_bg(sb))
890+
return le32_to_cpu(EXT4_SB(sb)->s_es->s_first_meta_bg);
891+
else
892+
return EXT4_SB(sb)->s_gdb_count;
890893
}
891894

892895
/**

0 commit comments

Comments
 (0)