Re: [PATCH 4/4][e2fsprogs] New bitmap and inode table allocation for FLEX_BG
From: Aneesh Kumar K.V <hidden>
Date: 2007-08-03 06:33:11
Jose R. Santos wrote:
From: Jose R. Santos <redacted>
Ne
+ case ALLOC_INODE_TABLES:
+ for (i=0, blk=new_blk; i < count; i++, blk++) {I guess you can drop the blk update in the for() loop above.
+ retval = ext2fs_get_free_blocks(fs, start_blk, last_blk,
+ fs->inode_blocks_per_group,
+ bmap, &new_blk);
+ if (retval)
+ return retval;
+ for (j=0, blk = new_blk;
+ j < fs->inode_blocks_per_group; j++, blk++)
+ ext2fs_mark_block_bitmap(bmap, blk);
+ fs->group_desc[group+i].bg_inode_table = new_blk;
+ }
+ break;
+
+ }
+ return 0;
+}
+
+
+
+errcode_t ext2fs_allocate_flex_groups(ext2_filsys fs)
+{
+ errcode_t retval;
+ blk_t start, last, j, blocks;
+ dgrp_t i, k;
+ int gpm;
+
+ gpm = GROUPS_PER_FLEXBG;
+ blocks = 0;
+
+ for (i = 0; i < fs->group_desc_count; i=i+gpm) {
+ if (i == 0 )
+ start = ext2fs_group_first_block(fs,
+ FIRST_METADATA_GROUP);
+ else
+ start = ext2fs_group_first_block(fs, i);
+
+ if (i+gpm-1 > fs->group_desc_count) {if (i+gpm >= fs->group_desc_count)
+ last = ext2fs_group_last_block(fs, fs->group_desc_count); + gpm = fs->group_desc_count - i; + }
-aneesh