Date: Thu, 4 Jun 2009 19:06:41 GMT From: Aditya Sarawgi <truncs@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 163511 for review Message-ID: <200906041906.n54J6foW025190@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=163511 Change 163511 by truncs@aditya on 2009/06/04 19:06:37 Migration. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_balloc.c#3 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_balloc.c#3 (text+ko) ==== @@ -72,20 +72,20 @@ unsigned int block_group, unsigned long bitmap_nr) { - struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs; + struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; struct ext2_group_desc * 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->s_blocksize, NOCRED, &bh)) != 0) + fsbtodb(sb, gdp->bg_block_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); - sb->s_block_bitmap_number[bitmap_nr] = block_group; - sb->s_block_bitmap[bitmap_nr] = bh; + sb->e2fs_bbn[bitmap_nr] = block_group; + sb->e2fs_bb[bitmap_nr] = bh; LCK_BUF(bh) } @@ -104,19 +104,19 @@ unsigned int block_group) { int i, j; - struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs; + struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; unsigned long block_bitmap_number; struct buffer_head * block_bitmap; - if (block_group >= sb->s_groups_count) + if (block_group >= sb->e2fs_gcount) panic ( "load_block_bitmap: " "block_group >= groups_count - " "block_group = %d, groups_count = %lu", - block_group, sb->s_groups_count); + block_group, sb->e2fs_gcount); - if (sb->s_groups_count <= EXT2_MAX_GROUP_LOADED) { - if (sb->s_block_bitmap[block_group]) { - if (sb->s_block_bitmap_number[block_group] != + if (sb->e2fs_gcount <= EXT2_MAX_GROUP_LOADED) { + if (sb->e2fs_bb[block_group]) { + if (sb->e2fs_bbn[block_group] != block_group) panic ( "load_block_bitmap: " "block_group != block_bitmap_number"); @@ -128,32 +128,32 @@ } } - for (i = 0; i < sb->s_loaded_block_bitmaps && - sb->s_block_bitmap_number[i] != block_group; i++) + for (i = 0; i < sb->e2fs_lbb && + sb->e2fs_bbn[i] != block_group; i++) ; - if (i < sb->s_loaded_block_bitmaps && - sb->s_block_bitmap_number[i] == block_group) { - block_bitmap_number = sb->s_block_bitmap_number[i]; - block_bitmap = sb->s_block_bitmap[i]; + if (i < sb->e2fs_lbb && + sb->e2fs_bbn[i] == block_group) { + block_bitmap_number = sb->e2fs_bbn[i]; + block_bitmap = sb->e2fs_bb[i]; for (j = i; j > 0; j--) { - sb->s_block_bitmap_number[j] = - sb->s_block_bitmap_number[j - 1]; - sb->s_block_bitmap[j] = - sb->s_block_bitmap[j - 1]; + sb->e2fs_bbn[j] = + sb->e2fs_bbn[j - 1]; + sb->e2fs_bb[j] = + sb->e2fs_bb[j - 1]; } - sb->s_block_bitmap_number[0] = block_bitmap_number; - sb->s_block_bitmap[0] = block_bitmap; + sb->e2fs_bbn[0] = block_bitmap_number; + sb->e2fs_bb[0] = block_bitmap; } else { - if (sb->s_loaded_block_bitmaps < EXT2_MAX_GROUP_LOADED) - sb->s_loaded_block_bitmaps++; + if (sb->e2fs_lbb < EXT2_MAX_GROUP_LOADED) + sb->e2fs_lbb++; else - ULCK_BUF(sb->s_block_bitmap[EXT2_MAX_GROUP_LOADED - 1]) + ULCK_BUF(sb->e2fs_bb[EXT2_MAX_GROUP_LOADED - 1]) - for (j = sb->s_loaded_block_bitmaps - 1; j > 0; j--) { - sb->s_block_bitmap_number[j] = - sb->s_block_bitmap_number[j - 1]; - sb->s_block_bitmap[j] = - sb->s_block_bitmap[j - 1]; + for (j = sb->e2fs_lbb - 1; j > 0; j--) { + sb->e2fs_bbn[j] = + sb->e2fs_bbn[j - 1]; + sb->e2fs_bb[j] = + sb->e2fs_bb[j - 1]; } read_block_bitmap (mp, block_group, 0); } @@ -163,14 +163,14 @@ static __inline int load_block_bitmap (struct mount * mp, unsigned int block_group) { - struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs; - if (sb->s_loaded_block_bitmaps > 0 && - sb->s_block_bitmap_number[0] == block_group) + struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; + if (sb->e2fs_lbb > 0 && + sb->e2fs_bbn[0] == block_group) return 0; - if (sb->s_groups_count <= EXT2_MAX_GROUP_LOADED && - sb->s_block_bitmap_number[block_group] == block_group && - sb->s_block_bitmap[block_group]) + if (sb->e2fs_gcount <= EXT2_MAX_GROUP_LOADED && + sb->e2fs_bbn[block_group] == block_group && + sb->e2fs_bb[block_group]) return block_group; return load__block_bitmap (mp, block_group); @@ -179,7 +179,7 @@ void ext2_free_blocks (struct mount * mp, unsigned long block, unsigned long count) { - struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs; + struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; struct buffer_head * bh; struct buffer_head * bh2; unsigned long block_group; @@ -193,7 +193,7 @@ printf ("ext2_free_blocks: nonexistent device"); return; } - es = sb->s_es; + es = sb->e2fs; lock_super (VFSTOEXT2(mp)->um_devvp); if (block < es->s_first_data_block || (block + count) > es->s_blocks_count) { @@ -215,7 +215,7 @@ "Block = %lu, count = %lu", block, count); bitmap_nr = load_block_bitmap (mp, block_group); - bh = sb->s_block_bitmap[bitmap_nr]; + bh = sb->e2fs_bb[bitmap_nr]; gdp = get_group_desc (mp, block_group, &bh2); if (/* test_opt (sb, CHECK_STRICT) && assume always strict ! */ @@ -249,7 +249,7 @@ wait_on_buffer (bh); } ****/ - sb->s_dirt = 1; + sb->e2fs_fmod = 1; unlock_super (VFSTOEXT2(mp)->um_devvp); return; } @@ -265,7 +265,7 @@ u_int32_t * prealloc_count, u_int32_t * prealloc_block) { - struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs; + struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; struct buffer_head * bh; struct buffer_head * bh2; char * p, * r; @@ -281,7 +281,7 @@ printf ("ext2_new_block: nonexistent device"); return 0; } - es = sb->s_es; + es = sb->e2fs; lock_super (VFSTOEXT2(mp)->um_devvp); ext2_debug ("goal=%lu.\n", goal); @@ -301,7 +301,7 @@ goal_attempts++; #endif bitmap_nr = load_block_bitmap (mp, i); - bh = sb->s_block_bitmap[bitmap_nr]; + bh = sb->e2fs_bb[bitmap_nr]; ext2_debug ("goal is at %d:%d.\n", i, j); @@ -360,20 +360,20 @@ * Now search the rest of the groups. We assume that * i and gdp correctly point to the last group visited. */ - for (k = 0; k < sb->s_groups_count; k++) { + for (k = 0; k < sb->e2fs_gcount; k++) { i++; - if (i >= sb->s_groups_count) + if (i >= sb->e2fs_gcount) i = 0; gdp = get_group_desc (mp, i, &bh2); if (gdp->bg_free_blocks_count > 0) break; } - if (k >= sb->s_groups_count) { + if (k >= sb->e2fs_gcount) { unlock_super (VFSTOEXT2(mp)->um_devvp); return 0; } bitmap_nr = load_block_bitmap (mp, i); - bh = sb->s_block_bitmap[bitmap_nr]; + bh = sb->e2fs_bb[bitmap_nr]; r = memscan(bh->b_data, 0, EXT2_BLOCKS_PER_GROUP(sb) >> 3); j = (r - bh->b_data) << 3; @@ -462,7 +462,7 @@ gdp->bg_free_blocks_count--; mark_buffer_dirty(bh2); es->s_free_blocks_count--; - sb->s_dirt = 1; + sb->e2fs_fmod = 1; unlock_super (VFSTOEXT2(mp)->um_devvp); return j; } @@ -470,7 +470,7 @@ #ifdef unused static unsigned long ext2_count_free_blocks (struct mount * mp) { - struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs; + struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; #ifdef EXT2FS_DEBUG struct ext2_super_block * es; unsigned long desc_count, bitmap_count, x; @@ -479,16 +479,16 @@ int i; lock_super (VFSTOEXT2(mp)->um_devvp); - es = sb->s_es; + es = sb->e2fs; desc_count = 0; bitmap_count = 0; gdp = NULL; - for (i = 0; i < sb->s_groups_count; i++) { + for (i = 0; i < sb->e2fs_gcount; i++) { gdp = get_group_desc (mp, i, NULL); desc_count += gdp->bg_free_blocks_count; bitmap_nr = load_block_bitmap (mp, i); - x = ext2_count_free (sb->s_block_bitmap[bitmap_nr], - sb->s_blocksize); + 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); bitmap_count += x; @@ -498,16 +498,16 @@ unlock_super (VFSTOEXT2(mp)->um_devvp); return bitmap_count; #else - return sb->s_es->s_free_blocks_count; + return sb->e2fs->s_free_blocks_count; #endif } #endif /* unused */ static __inline int block_in_use (unsigned long block, - struct ext2_sb_info * sb, + struct m_ext2fs * sb, unsigned char * map) { - return test_bit ((block - sb->s_es->s_first_data_block) % + return test_bit ((block - sb->e2fs->s_first_data_block) % EXT2_BLOCKS_PER_GROUP(sb), map); } @@ -533,7 +533,7 @@ #ifdef unused static void ext2_check_blocks_bitmap (struct mount * mp) { - struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs; + struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; struct buffer_head * bh; struct ext2_super_block * es; unsigned long desc_count, bitmap_count, x; @@ -543,17 +543,17 @@ int i, j; lock_super (VFSTOEXT2(mp)->um_devvp); - es = sb->s_es; + es = sb->e2fs; desc_count = 0; bitmap_count = 0; gdp = NULL; - desc_blocks = (sb->s_groups_count + EXT2_DESC_PER_BLOCK(sb) - 1) / + desc_blocks = (sb->e2fs_gcount + EXT2_DESC_PER_BLOCK(sb) - 1) / EXT2_DESC_PER_BLOCK(sb); - for (i = 0; i < sb->s_groups_count; i++) { + for (i = 0; i < sb->e2fs_gcount; i++) { gdp = get_group_desc (mp, i, NULL); desc_count += gdp->bg_free_blocks_count; bitmap_nr = load_block_bitmap (mp, i); - bh = sb->s_block_bitmap[bitmap_nr]; + bh = sb->e2fs_bb[bitmap_nr]; if (!(es->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER) ||
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906041906.n54J6foW025190>
