]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
ext2: introduce new helper ext2_group_last_block_no()
authorChengguang Xu <cgxu519@mykernel.net>
Mon, 4 Nov 2019 11:40:32 +0000 (19:40 +0800)
committerJan Kara <jack@suse.cz>
Wed, 6 Nov 2019 15:25:12 +0000 (16:25 +0100)
Introduce new helper ext2_group_last_block_no() to calculate
last block num for specific block group, we can replace open
coded logic by calling this common helper.

Link: https://lore.kernel.org/r/20191104114036.9893-1-cgxu519@mykernel.net
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext2/ext2.h

index 10ab238de9a65e4df112e0f2869bd12e84f8287a..8178bd38a9d699c3a2f3145590887f00d12eca76 100644 (file)
@@ -813,6 +813,18 @@ ext2_group_first_block_no(struct super_block *sb, unsigned long group_no)
                le32_to_cpu(EXT2_SB(sb)->s_es->s_first_data_block);
 }
 
+static inline ext2_fsblk_t
+ext2_group_last_block_no(struct super_block *sb, unsigned long group_no)
+{
+       struct ext2_sb_info *sbi = EXT2_SB(sb);
+
+       if (group_no == sbi->s_groups_count - 1)
+               return le32_to_cpu(sbi->s_es->s_blocks_count) - 1;
+       else
+               return ext2_group_first_block_no(sb, group_no) +
+                       EXT2_BLOCKS_PER_GROUP(sb) - 1;
+}
+
 #define ext2_set_bit   __test_and_set_bit_le
 #define ext2_clear_bit __test_and_clear_bit_le
 #define ext2_test_bit  test_bit_le