[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4703E5B1.7090903@linux.vnet.ibm.com>
Date: Thu, 04 Oct 2007 00:25:45 +0530
From: "Aneesh Kumar K.V" <aneesh.kumar@...ux.vnet.ibm.com>
To: Andreas Dilger <adilger@...sterfs.com>
CC: Avantika Mathur <mathur@...ux.vnet.ibm.com>,
Mingming Cao <cmm@...ibm.com>,
linux-ext4 <linux-ext4@...r.kernel.org>
Subject: Re: update uninitialized-block-groups.patch and mballoc-core.patch
Andreas Dilger wrote:
> On Oct 03, 2007 15:30 +0530, Aneesh Kumar K.V wrote:
>> + if (block_group == sbi->s_gdb_count - 1) {
>> + /*
>> + * Even though mke2fs always initialize first and last group
>> + * if some other tool enabled the EXT4_BG_BLOCK_UNINIT we
>> need
>> + * to make sure we calculate the right free blocks
>> + */
>> + free_blocks = ext4_blocks_count(sbi->s_es) -
>> + le32_to_cpu(sbi->s_es->s_first_data_block) -
>> + (EXT4_BLOCKS_PER_GROUP(sb) *
>> sbi->s_groups_count) -
>> + bit_max;
>
> Did you verify that subtracting s_first_data_block is indeed the right
> thing to do. I _think_ yes, but I didn't look at it very closely when
> I wrote it late last night.
>
yes s_first_data_block is always decremented to find total number of blocks occupied by the
reset of the group. But now looking at it again i guess i need to have
EXT4_BLOCKS_PER_GROUP(sb) * sbi->s_groups_count
as
EXT4_BLOCKS_PER_GROUP(sb) * (sbi->s_groups_count -1 )
Also for the last group i need to mark_end_bitmap_end from a lower value.
if ( last_group) {
group_block = ext4_blocks_count(sbi->s_es) - e32_to_cpu(sbi->s_es->s_first_data_block) -
EXT4_BLOCKS_PER_GROUP(sb) * (sbi->s_groups_count - 1)
} else {
group_block = EXT4_BLOCKS_PER_GROUP(sb)
}
free_blocks = group_block - bit_max
mark_bitmap_end(group_block, ...)
-aneesh
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists