Date: Sat, 13 Jun 2009 13:51:39 GMT From: Aditya Sarawgi <truncs@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 164268 for review Message-ID: <200906131351.n5DDpdDm057716@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=164268 Change 164268 by truncs@aditya on 2009/06/13 13:51:12 Renaming to new block group descriptor Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_extern.h#4 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#17 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_balloc.c#7 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#7 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#10 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/fs.h#7 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_extern.h#4 (text+ko) ==== @@ -78,7 +78,7 @@ struct inode *, struct componentname *); int ext2_dirempty(struct inode *, ino_t, struct ucred *); int ext2_checkpath(struct inode *, struct inode *, struct ucred *); -struct ext2_group_desc * get_group_desc(struct mount * , +struct ext2_gd * get_group_desc(struct mount * , unsigned int , struct buf ** ); int ext2_group_sparse(int group); void ext2_discard_prealloc(struct inode *); ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#17 (text+ko) ==== @@ -218,7 +218,7 @@ # define EXT2_DESC_PER_BLOCK_BITS(s) (EXT2_SB(s)->s_desc_per_block_bits) #else # define EXT2_BLOCKS_PER_GROUP(s) ((s)->e2fs_bpg) -# define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) +# define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_gd)) #endif ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_balloc.c#7 (text+ko) ==== @@ -72,17 +72,17 @@ unsigned long bitmap_nr) { struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; struct buffer_head * bh; int error; gdp = get_group_desc (mp, block_group, NULL); if ((error = bread (VFSTOEXT2(mp)->um_devvp, - fsbtodb(sb, gdp->bg_block_bitmap),sb->e2fs_bsize, NOCRED, &bh)) != 0) + fsbtodb(sb, gdp->ext2bgd_b_bitmap),sb->e2fs_bsize, NOCRED, &bh)) != 0) panic ( "read_block_bitmap: " "Cannot read block bitmap - " "block_group = %d, block_bitmap = %lu", - block_group, (unsigned long) gdp->bg_block_bitmap); + block_group, (unsigned long) gdp->ext2bgd_b_bitmap); sb->e2fs_bbn[bitmap_nr] = block_group; sb->e2fs_bb[bitmap_nr] = bh; LCK_BUF(bh) @@ -185,7 +185,7 @@ unsigned long bit; unsigned long i; int bitmap_nr; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; struct ext2fs * es; if (!sb) { @@ -218,11 +218,11 @@ gdp = get_group_desc (mp, block_group, &bh2); if (/* test_opt (sb, CHECK_STRICT) && assume always strict ! */ - (in_range (gdp->bg_block_bitmap, block, count) || - in_range (gdp->bg_inode_bitmap, block, count) || - in_range (block, gdp->bg_inode_table, + (in_range (gdp->ext2bgd_b_bitmap, block, count) || + in_range (gdp->ext2bgd_i_bitmap, block, count) || + in_range (block, gdp->ext2bgd_i_tables, sb->e2fs_itpg) || - in_range (block + count - 1, gdp->bg_inode_table, + in_range (block + count - 1, gdp->ext2bgd_i_tables, sb->e2fs_itpg))) panic ( "ext2_free_blocks: " "Freeing blocks in system zones - " @@ -235,7 +235,7 @@ "bit already cleared for block %lu", block); else { - gdp->bg_free_blocks_count++; + gdp->ext2bgd_nbfree++; es->e2fs_fbcount++; } } @@ -270,7 +270,7 @@ char * p, * r; int i, j, k, tmp; int bitmap_nr; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; struct ext2fs * es; #ifdef EXT2FS_DEBUG @@ -293,7 +293,7 @@ goal = es->e2fs_first_dblock; i = (goal - es->e2fs_first_dblock) / EXT2_BLOCKS_PER_GROUP(sb); gdp = get_group_desc (mp, i, &bh2); - if (gdp->bg_free_blocks_count > 0) { + if (gdp->ext2bgd_nbfree > 0) { j = ((goal - es->e2fs_first_dblock) % EXT2_BLOCKS_PER_GROUP(sb)); #ifdef EXT2FS_DEBUG if (j) @@ -364,7 +364,7 @@ if (i >= sb->e2fs_gcount) i = 0; gdp = get_group_desc (mp, i, &bh2); - if (gdp->bg_free_blocks_count > 0) + if (gdp->ext2bgd_nbfree > 0) break; } if (k >= sb->e2fs_gcount) { @@ -398,14 +398,14 @@ got_block: - ext2_debug ("using block group %d(%d)\n", i, gdp->bg_free_blocks_count); + ext2_debug ("using block group %d(%d)\n", i, gdp->ext2bgd_nbfree); tmp = j + i * EXT2_BLOCKS_PER_GROUP(sb) + es->e2fs_first_dblock; if (/* test_opt (sb, CHECK_STRICT) && we are always strict. */ - (tmp == gdp->bg_block_bitmap || - tmp == gdp->bg_inode_bitmap || - in_range (tmp, gdp->bg_inode_table, sb->e2fs_itpg))) + (tmp == gdp->ext2bgd_b_bitmap || + tmp == gdp->ext2bgd_i_bitmap || + in_range (tmp, gdp->ext2bgd_i_tables, sb->e2fs_itpg))) panic ( "ext2_new_block: " "Allocating block in system zone - " "%dth block = %u in group %u", j, tmp, i); @@ -431,7 +431,7 @@ break; (*prealloc_count)++; } - gdp->bg_free_blocks_count -= *prealloc_count; + gdp->ext2bgd_nbfree -= *prealloc_count; es->e2fs_fbcount -= *prealloc_count; ext2_debug ("Preallocated a further %lu bits.\n", *prealloc_count); @@ -458,7 +458,7 @@ ext2_debug ("allocating block %d. " "Goal hits %d of %d.\n", j, goal_hits, goal_attempts); - gdp->bg_free_blocks_count--; + gdp->ext2bgd_nbfree--; mark_buffer_dirty(bh2); es->e2fs_fbcount--; sb->e2fs_fmod = 1; @@ -474,7 +474,7 @@ struct ext2fs * es; unsigned long desc_count, bitmap_count, x; int bitmap_nr; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; int i; lock_super (VFSTOEXT2(mp)->um_devvp); @@ -484,12 +484,12 @@ gdp = NULL; for (i = 0; i < sb->e2fs_gcount; i++) { gdp = get_group_desc (mp, i, NULL); - desc_count += gdp->bg_free_blocks_count; + desc_count += gdp->ext2bgd_nbfree; bitmap_nr = load_block_bitmap (mp, i); x = ext2_count_free (sb->e2fs_bb[bitmap_nr], sb->e2fs_bsize); ext2_debug ("group %d: stored = %d, counted = %lu\n", - i, gdp->bg_free_blocks_count, x); + i, gdp->ext2bgd_nbfree, x); bitmap_count += x; } ext2_debug( "stored = %lu, computed = %lu, %lu\n", @@ -538,7 +538,7 @@ unsigned long desc_count, bitmap_count, x; unsigned long desc_blocks; int bitmap_nr; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; int i, j; lock_super (VFSTOEXT2(mp)->um_devvp); @@ -550,7 +550,7 @@ EXT2_DESC_PER_BLOCK(sb); for (i = 0; i < sb->e2fs_gcount; i++) { gdp = get_group_desc (mp, i, NULL); - desc_count += gdp->bg_free_blocks_count; + desc_count += gdp->ext2bgd_nbfree; bitmap_nr = load_block_bitmap (mp, i); bh = sb->e2fs_bb[bitmap_nr]; @@ -569,28 +569,28 @@ "%d is marked free", j, i); } - if (!block_in_use (gdp->bg_block_bitmap, sb, bh->b_data)) + if (!block_in_use (gdp->ext2bgd_b_bitmap, sb, bh->b_data)) printf ("ext2_check_blocks_bitmap: " "Block bitmap for group %d is marked free", i); - if (!block_in_use (gdp->bg_inode_bitmap, sb, bh->b_data)) + if (!block_in_use (gdp->ext2bgd_i_bitmap, sb, bh->b_data)) printf ("ext2_check_blocks_bitmap: " "Inode bitmap for group %d is marked free", i); for (j = 0; j < sb->e2fs_itpg; j++) - if (!block_in_use (gdp->bg_inode_table + j, sb, bh->b_data)) + if (!block_in_use (gdp->ext2bgd_i_tables + j, sb, bh->b_data)) printf ("ext2_check_blocks_bitmap: " "Block #%d of the inode table in " "group %d is marked free", j, i); x = ext2_count_free (bh, sb->e2fs_bsize); - if (gdp->bg_free_blocks_count != x) + if (gdp->ext2bgd_nbfree != x) printf ("ext2_check_blocks_bitmap: " "Wrong free blocks count for group %d, " "stored = %d, counted = %lu", i, - gdp->bg_free_blocks_count, x); + gdp->ext2bgd_nbfree, x); bitmap_count += x; } if (es->e2fs_fbcount != bitmap_count) ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#7 (text+ko) ==== @@ -74,14 +74,14 @@ splx(s); } -struct ext2_group_desc * get_group_desc (struct mount * mp, +struct ext2_gd * get_group_desc (struct mount * mp, unsigned int block_group, struct buffer_head ** bh) { struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; unsigned long group_desc; unsigned long desc; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; if (block_group >= sb->e2fs_gcount) panic ("get_group_desc: " @@ -96,7 +96,7 @@ "Group descriptor not loaded - " "block_group = %d, group_desc = %lu, desc = %lu", block_group, group_desc, desc); - gdp = (struct ext2_group_desc *) + gdp = (struct ext2_gd *) sb->e2fs_group_desc[group_desc]->b_data; if (bh) *bh = sb->e2fs_group_desc[group_desc]; @@ -108,19 +108,19 @@ unsigned int bitmap_nr) { struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; struct buffer_head * bh; int error; gdp = get_group_desc (mp, block_group, NULL); if ((error = bread (VFSTOEXT2(mp)->um_devvp, - fsbtodb(sb, gdp->bg_inode_bitmap), + fsbtodb(sb, gdp->ext2bgd_i_bitmap), sb->e2fs_bsize, NOCRED, &bh)) != 0) panic ( "read_inode_bitmap:" "Cannot read inode bitmap - " "block_group = %lu, inode_bitmap = %lu", - block_group, (unsigned long) gdp->bg_inode_bitmap); + block_group, (unsigned long) gdp->ext2bgd_i_bitmap); sb->e2fs_ibn[bitmap_nr] = block_group; sb->e2fs_ib[bitmap_nr] = bh; LCK_BUF(bh) @@ -208,7 +208,7 @@ unsigned long block_group; unsigned long bit; int bitmap_nr; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; struct ext2fs * es; if (!inode) @@ -241,9 +241,9 @@ (unsigned long)inode->i_number); else { gdp = get_group_desc (ITOV(inode)->v_mount, block_group, &bh2); - gdp->bg_free_inodes_count++; + gdp->ext2bgd_nifree++; if (S_ISDIR(inode->i_mode)) - gdp->bg_used_dirs_count--; + gdp->ext2bgd_ndirs--; mark_buffer_dirty(bh2); es->e2fs_ficount++; } @@ -265,14 +265,14 @@ * This may be used one day by the NFS server */ static void inc_inode_version (struct inode * inode, - struct ext2_group_desc *gdp, + struct ext2_gd *gdp, int mode) { unsigned long inode_block; struct buffer_head * bh; struct ext2_inode * raw_inode; - inode_block = gdp->bg_inode_table + (((inode->i_number - 1) % + inode_block = gdp->ext2bgd_i_tables + (((inode->i_number - 1) % (inode->i_sb->e2fs_ipg) /(inode->i_sb->e2fs_ipb))); bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->e2fs_bsize); if (!bh) { @@ -312,8 +312,8 @@ struct buffer_head * bh2; int i, j, avefreei; int bitmap_nr; - struct ext2_group_desc * gdp; - struct ext2_group_desc * tmp; + struct ext2_gd * gdp; + struct ext2_gd * tmp; struct ext2fs * es; if (!dir) @@ -332,8 +332,8 @@ i = dir->u.ext2_i.i_block_group; for (j = 0; j < sb->u.ext2_sb.e2fs_gcount; j++) { tmp = get_group_desc (sb, i, &bh2); - if ((tmp->bg_used_dirs_count << 8) < - tmp->bg_free_inodes_count) { + if ((tmp->ext2bgd_ndirs << 8) < + tmp->ext2bgd_nifree) { gdp = tmp; break; } @@ -344,11 +344,11 @@ if (!gdp) { for (j = 0; j < sb->e2fs_gcount; j++) { tmp = get_group_desc(ITOV(dir)->v_mount,j,&bh2); - if (tmp->bg_free_inodes_count && - tmp->bg_free_inodes_count >= avefreei) { + if (tmp->ext2bgd_nifree && + tmp->ext2bgd_nifree >= avefreei) { if (!gdp || - (tmp->bg_free_blocks_count > - gdp->bg_free_blocks_count)) { + (tmp->ext2bgd_nbfree > + gdp->ext2bgd_nbfree)) { i = j; gdp = tmp; } @@ -363,7 +363,7 @@ */ i = dir->i_block_group; tmp = get_group_desc (ITOV(dir)->v_mount, i, &bh2); - if (tmp->bg_free_inodes_count) + if (tmp->ext2bgd_nifree) gdp = tmp; else { @@ -376,7 +376,7 @@ if (i >= sb->e2fs_gcount) i -= sb->e2fs_gcount; tmp = get_group_desc(ITOV(dir)->v_mount,i,&bh2); - if (tmp->bg_free_inodes_count) { + if (tmp->ext2bgd_nifree) { gdp = tmp; break; } @@ -391,7 +391,7 @@ if (++i >= sb->e2fs_gcount) i = 0; tmp = get_group_desc(ITOV(dir)->v_mount,i,&bh2); - if (tmp->bg_free_inodes_count) { + if (tmp->ext2bgd_nifree) { gdp = tmp; break; } @@ -421,7 +421,7 @@ */ mark_buffer_dirty(bh); } else { - if (gdp->bg_free_inodes_count != 0) { + if (gdp->ext2bgd_nifree != 0) { printf ( "ext2_new_inode:" "Free inodes count corrupted in group %d", i); @@ -438,9 +438,9 @@ unlock_super (DEVVP(dir)); return 0; } - gdp->bg_free_inodes_count--; + gdp->ext2bgd_nifree--; if (S_ISDIR(mode)) - gdp->bg_used_dirs_count++; + gdp->ext2bgd_ndirs++; mark_buffer_dirty(bh2); es->e2fs_ficount--; /* mark_buffer_dirty(sb->u.ext2_sb.s_sbh, 1); */ @@ -457,7 +457,7 @@ struct ext2fs * es; unsigned long desc_count, bitmap_count, x; int bitmap_nr; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; int i; lock_super (VFSTOEXT2(mp)->um_devvp); @@ -467,12 +467,12 @@ gdp = NULL; for (i = 0; i < sb->e2fs_gcount; i++) { gdp = get_group_desc (mp, i, NULL); - desc_count += gdp->bg_free_inodes_count; + desc_count += gdp->ext2bgd_nifree; bitmap_nr = load_inode_bitmap (mp, i); x = ext2_count_free (sb->e2fs_ib[bitmap_nr], (sb->e2fs_ipg) / 8); ext2_debug ("group %d: stored = %d, counted = %lu\n", - i, gdp->bg_free_inodes_count, x); + i, gdp->ext2bgd_nifree, x); bitmap_count += x; } ext2_debug("stored = %lu, computed = %lu, %lu\n", @@ -491,7 +491,7 @@ struct ext2fs * es; unsigned long desc_count, bitmap_count, x; int bitmap_nr; - struct ext2_group_desc * gdp; + struct ext2_gd * gdp; int i; lock_super (sb); @@ -501,15 +501,15 @@ gdp = NULL; for (i = 0; i < sb->u.ext2_sb.e2fs_gcount; i++) { gdp = get_group_desc (sb, i, NULL); - desc_count += gdp->bg_free_inodes_count; + desc_count += gdp->ext2bgd_nifree; bitmap_nr = load_inode_bitmap (sb, i); x = ext2_count_free (sb->u.ext2_sb.e2fs_ib[bitmap_nr], (sb->e2fs_ipg) / 8); - if (gdp->bg_free_inodes_count != x) + if (gdp->ext2bgd_nifree != x) printf ( "ext2_check_inodes_bitmap:" "Wrong free inodes count in group %d, " "stored = %d, counted = %lu", i, - gdp->bg_free_inodes_count, x); + gdp->ext2bgd_nifree, x); bitmap_count += x; } if (es->e2fs_ficount != bitmap_count) ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#10 (text+ko) ==== @@ -306,7 +306,7 @@ static int ext2_check_descriptors(struct m_ext2fs *sb) { - struct ext2_group_desc *gdp = NULL; + struct ext2_gd *gdp = NULL; unsigned long block = sb->e2fs->e2fs_first_dblock; int desc_block = 0; int i; @@ -314,31 +314,31 @@ for (i = 0; i < sb->e2fs_gcount; i++) { /* examine next descriptor block */ if ((i % EXT2_DESC_PER_BLOCK(sb)) == 0) - gdp = (struct ext2_group_desc *) + gdp = (struct ext2_gd *) sb->e2fs_group_desc[desc_block++]->b_data; - if (gdp->bg_block_bitmap < block || - gdp->bg_block_bitmap >= block + EXT2_BLOCKS_PER_GROUP(sb)) { + if (gdp->ext2bgd_b_bitmap < block || + gdp->ext2bgd_b_bitmap >= block + EXT2_BLOCKS_PER_GROUP(sb)) { printf ("ext2_check_descriptors: " "Block bitmap for group %d" " not in group (block %lu)!\n", - i, (unsigned long) gdp->bg_block_bitmap); + i, (unsigned long) gdp->ext2bgd_b_bitmap); return (0); } - if (gdp->bg_inode_bitmap < block || - gdp->bg_inode_bitmap >= block + EXT2_BLOCKS_PER_GROUP(sb)) { + if (gdp->ext2bgd_i_bitmap < block || + gdp->ext2bgd_i_bitmap >= block + EXT2_BLOCKS_PER_GROUP(sb)) { printf ("ext2_check_descriptors: " "Inode bitmap for group %d" " not in group (block %lu)!\n", - i, (unsigned long) gdp->bg_inode_bitmap); + i, (unsigned long) gdp->ext2bgd_i_bitmap); return (0); } - if (gdp->bg_inode_table < block || - gdp->bg_inode_table + sb->e2fs_itpg >= + if (gdp->ext2bgd_i_tables < block || + gdp->ext2bgd_i_tables + sb->e2fs_itpg >= block + EXT2_BLOCKS_PER_GROUP(sb)) { printf ("ext2_check_descriptors: " "Inode table for group %d" " not in group (block %lu)!\n", - i, (unsigned long) gdp->bg_inode_table); + i, (unsigned long) gdp->ext2bgd_i_tables); return (0); } block += EXT2_BLOCKS_PER_GROUP(sb); @@ -416,7 +416,7 @@ } fs->e2fs_ipb = fs->e2fs_bsize / EXT2_INODE_SIZE(fs); fs->e2fs_itpg = fs->e2fs_ipg /fs->e2fs_ipb; - fs->e2fs_descpb = fs->e2fs_bsize / sizeof (struct ext2_group_desc); + fs->e2fs_descpb = fs->e2fs_bsize / sizeof (struct ext2_gd); /* s_resuid / s_resgid ? */ fs->e2fs_gcount = (es->e2fs_bcount - es->e2fs_first_dblock + EXT2_BLOCKS_PER_GROUP(fs) - 1) / EXT2_BLOCKS_PER_GROUP(fs); ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/fs.h#7 (text+ko) ==== @@ -68,7 +68,7 @@ /* * Convert cylinder group to base address of its global summary info. */ -#define fs_cs(fs, cgindx) (((struct ext2_group_desc *) \ +#define fs_cs(fs, cgindx) (((struct ext2_gd *) \ (fs->e2fs_group_desc[cgindx / EXT2_DESC_PER_BLOCK(fs)]->b_data)) \ [cgindx % EXT2_DESC_PER_BLOCK(fs)]) @@ -83,7 +83,7 @@ #define ino_to_cg(fs, x) (((x) - 1) / (fs->e2fs_ipg)) /* get block containing inode from its number x */ -#define ino_to_fsba(fs, x) fs_cs(fs, ino_to_cg(fs, x)).bg_inode_table + \ +#define ino_to_fsba(fs, x) fs_cs(fs, ino_to_cg(fs, x)).ext2bgd_i_tables + \ (((x)-1) % (fs->e2fs_ipg))/(fs->e2fs_ipb) /* get offset for inode in block */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906131351.n5DDpdDm057716>