diff options
Diffstat (limited to 'fs/ext4/balloc.c')
-rw-r--r-- | fs/ext4/balloc.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c index 38f40d55899c..b37b12875582 100644 --- a/fs/ext4/balloc.c +++ b/fs/ext4/balloc.c | |||
@@ -55,7 +55,8 @@ static int ext4_block_in_group(struct super_block *sb, ext4_fsblk_t block, | |||
55 | } | 55 | } |
56 | 56 | ||
57 | static int ext4_group_used_meta_blocks(struct super_block *sb, | 57 | static int ext4_group_used_meta_blocks(struct super_block *sb, |
58 | ext4_group_t block_group) | 58 | ext4_group_t block_group, |
59 | struct ext4_group_desc *gdp) | ||
59 | { | 60 | { |
60 | ext4_fsblk_t tmp; | 61 | ext4_fsblk_t tmp; |
61 | struct ext4_sb_info *sbi = EXT4_SB(sb); | 62 | struct ext4_sb_info *sbi = EXT4_SB(sb); |
@@ -63,10 +64,6 @@ static int ext4_group_used_meta_blocks(struct super_block *sb, | |||
63 | int used_blocks = sbi->s_itb_per_group + 2; | 64 | int used_blocks = sbi->s_itb_per_group + 2; |
64 | 65 | ||
65 | if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_FLEX_BG)) { | 66 | if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_FLEX_BG)) { |
66 | struct ext4_group_desc *gdp; | ||
67 | struct buffer_head *bh; | ||
68 | |||
69 | gdp = ext4_get_group_desc(sb, block_group, &bh); | ||
70 | if (!ext4_block_in_group(sb, ext4_block_bitmap(sb, gdp), | 67 | if (!ext4_block_in_group(sb, ext4_block_bitmap(sb, gdp), |
71 | block_group)) | 68 | block_group)) |
72 | used_blocks--; | 69 | used_blocks--; |
@@ -177,7 +174,7 @@ unsigned ext4_init_block_bitmap(struct super_block *sb, struct buffer_head *bh, | |||
177 | */ | 174 | */ |
178 | mark_bitmap_end(group_blocks, sb->s_blocksize * 8, bh->b_data); | 175 | mark_bitmap_end(group_blocks, sb->s_blocksize * 8, bh->b_data); |
179 | } | 176 | } |
180 | return free_blocks - ext4_group_used_meta_blocks(sb, block_group); | 177 | return free_blocks - ext4_group_used_meta_blocks(sb, block_group, gdp); |
181 | } | 178 | } |
182 | 179 | ||
183 | 180 | ||