PERFORCE change 163514 for review
Aditya Sarawgi
truncs at FreeBSD.org
Thu Jun 4 19:34:11 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=163514
Change 163514 by truncs at aditya on 2009/06/04 19:33:17
Migration.
Affected files ...
.. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#3 edit
Differences ...
==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#3 (text+ko) ====
@@ -79,28 +79,28 @@
unsigned int block_group,
struct buffer_head ** bh)
{
- struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs;
+ struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs;
unsigned long group_desc;
unsigned long desc;
struct ext2_group_desc * gdp;
- if (block_group >= sb->s_groups_count)
+ if (block_group >= sb->e2fs_gcount)
panic ("get_group_desc: "
"block_group >= groups_count - "
"block_group = %d, groups_count = %lu",
- block_group, sb->s_groups_count);
+ block_group, sb->e2fs_gcount);
group_desc = block_group / EXT2_DESC_PER_BLOCK(sb);
desc = block_group % EXT2_DESC_PER_BLOCK(sb);
- if (!sb->s_group_desc[group_desc])
+ if (!sb->e2fs_group_desc[group_desc])
panic ( "get_group_desc:"
"Group descriptor not loaded - "
"block_group = %d, group_desc = %lu, desc = %lu",
block_group, group_desc, desc);
gdp = (struct ext2_group_desc *)
- sb->s_group_desc[group_desc]->b_data;
+ sb->e2fs_group_desc[group_desc]->b_data;
if (bh)
- *bh = sb->s_group_desc[group_desc];
+ *bh = sb->e2fs_group_desc[group_desc];
return gdp + desc;
}
@@ -108,7 +108,7 @@
unsigned long block_group,
unsigned int 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;
@@ -116,14 +116,14 @@
gdp = get_group_desc (mp, block_group, NULL);
if ((error = bread (VFSTOEXT2(mp)->um_devvp,
fsbtodb(sb, gdp->bg_inode_bitmap),
- sb->s_blocksize,
+ 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);
- sb->s_inode_bitmap_number[bitmap_nr] = block_group;
- sb->s_inode_bitmap[bitmap_nr] = bh;
+ sb->e2fs_ibn[bitmap_nr] = block_group;
+ sb->e2fs_ib[bitmap_nr] = bh;
LCK_BUF(bh)
}
@@ -141,22 +141,22 @@
static int load_inode_bitmap (struct mount * mp,
unsigned int block_group)
{
- struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs;
+ struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs;
int i, j;
unsigned long inode_bitmap_number;
struct buffer_head * inode_bitmap;
- if (block_group >= sb->s_groups_count)
+ if (block_group >= sb->e2fs_gcount)
panic ("load_inode_bitmap:"
"block_group >= groups_count - "
"block_group = %d, groups_count = %lu",
- block_group, sb->s_groups_count);
- if (sb->s_loaded_inode_bitmaps > 0 &&
- sb->s_inode_bitmap_number[0] == block_group)
+ block_group, sb->e2fs_gcount);
+ if (sb->e2fs_lib > 0 &&
+ sb->e2fs_ibn[0] == block_group)
return 0;
- if (sb->s_groups_count <= EXT2_MAX_GROUP_LOADED) {
- if (sb->s_inode_bitmap[block_group]) {
- if (sb->s_inode_bitmap_number[block_group] !=
+ if (sb->e2fs_gcount <= EXT2_MAX_GROUP_LOADED) {
+ if (sb->e2fs_ib[block_group]) {
+ if (sb->e2fs_ibn[block_group] !=
block_group)
panic ( "load_inode_bitmap:"
"block_group != inode_bitmap_number");
@@ -168,32 +168,32 @@
}
}
- for (i = 0; i < sb->s_loaded_inode_bitmaps &&
- sb->s_inode_bitmap_number[i] != block_group;
+ for (i = 0; i < sb->e2fs_lib &&
+ sb->e2fs_ibn[i] != block_group;
i++)
;
- if (i < sb->s_loaded_inode_bitmaps &&
- sb->s_inode_bitmap_number[i] == block_group) {
- inode_bitmap_number = sb->s_inode_bitmap_number[i];
- inode_bitmap = sb->s_inode_bitmap[i];
+ if (i < sb->e2fs_lib &&
+ sb->e2fs_ibn[i] == block_group) {
+ inode_bitmap_number = sb->e2fs_ibn[i];
+ inode_bitmap = sb->e2fs_ib[i];
for (j = i; j > 0; j--) {
- sb->s_inode_bitmap_number[j] =
- sb->s_inode_bitmap_number[j - 1];
- sb->s_inode_bitmap[j] =
- sb->s_inode_bitmap[j - 1];
+ sb->e2fs_ibn[j] =
+ sb->e2fs_ibn[j - 1];
+ sb->e2fs_ib[j] =
+ sb->e2fs_ib[j - 1];
}
- sb->s_inode_bitmap_number[0] = inode_bitmap_number;
- sb->s_inode_bitmap[0] = inode_bitmap;
+ sb->e2fs_ibn[0] = inode_bitmap_number;
+ sb->e2fs_ib[0] = inode_bitmap;
} else {
- if (sb->s_loaded_inode_bitmaps < EXT2_MAX_GROUP_LOADED)
- sb->s_loaded_inode_bitmaps++;
+ if (sb->e2fs_lib < EXT2_MAX_GROUP_LOADED)
+ sb->e2fs_lib++;
else
- ULCK_BUF(sb->s_inode_bitmap[EXT2_MAX_GROUP_LOADED - 1])
- for (j = sb->s_loaded_inode_bitmaps - 1; j > 0; j--) {
- sb->s_inode_bitmap_number[j] =
- sb->s_inode_bitmap_number[j - 1];
- sb->s_inode_bitmap[j] =
- sb->s_inode_bitmap[j - 1];
+ ULCK_BUF(sb->e2fs_ib[EXT2_MAX_GROUP_LOADED - 1])
+ for (j = sb->e2fs_lib - 1; j > 0; j--) {
+ sb->e2fs_ibn[j] =
+ sb->e2fs_ibn[j - 1];
+ sb->e2fs_ib[j] =
+ sb->e2fs_ib[j - 1];
}
read_inode_bitmap (mp, block_group, 0);
}
@@ -203,7 +203,7 @@
void ext2_free_inode (struct inode * inode)
{
- struct ext2_sb_info * sb;
+ struct m_ext2fs * sb;
struct buffer_head * bh;
struct buffer_head * bh2;
unsigned long block_group;
@@ -226,16 +226,16 @@
sb = inode->i_e2fs;
lock_super (DEVVP(inode));
if (inode->i_number < EXT2_FIRST_INO(sb) ||
- inode->i_number > sb->s_es->s_inodes_count) {
+ inode->i_number > sb->e2fs->s_inodes_count) {
printf ("free_inode reserved inode or nonexistent inode");
unlock_super (DEVVP(inode));
return;
}
- es = sb->s_es;
+ es = sb->e2fs;
block_group = (inode->i_number - 1) / EXT2_INODES_PER_GROUP(sb);
bit = (inode->i_number - 1) % EXT2_INODES_PER_GROUP(sb);
bitmap_nr = load_inode_bitmap (ITOV(inode)->v_mount, block_group);
- bh = sb->s_inode_bitmap[bitmap_nr];
+ bh = sb->e2fs_ib[bitmap_nr];
if (!clear_bit (bit, bh->b_data))
printf ( "ext2_free_inode:"
"bit already cleared for inode %lu",
@@ -255,7 +255,7 @@
wait_on_buffer (bh);
}
***/
- sb->s_dirt = 1;
+ sb->e2fs_fmod = 1;
unlock_super (DEVVP(inode));
}
@@ -276,7 +276,7 @@
inode_block = gdp->bg_inode_table + (((inode->i_number - 1) %
EXT2_INODES_PER_GROUP(inode->i_sb)) /
EXT2_INODES_PER_BLOCK(inode->i_sb));
- bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize);
+ bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->e2fs_bsize);
if (!bh) {
printf ("inc_inode_version Cannot load inode table block - "
"inode=%lu, inode_block=%lu\n",
@@ -310,7 +310,7 @@
*/
ino_t ext2_new_inode (const struct inode * dir, int mode)
{
- struct ext2_sb_info * sb;
+ struct m_ext2fs * sb;
struct buffer_head * bh;
struct buffer_head * bh2;
int i, j, avefreei;
@@ -324,16 +324,16 @@
sb = dir->i_e2fs;
lock_super (DEVVP(dir));
- es = sb->s_es;
+ es = sb->e2fs;
repeat:
gdp = NULL; i=0;
if (S_ISDIR(mode)) {
avefreei = es->s_free_inodes_count /
- sb->s_groups_count;
+ sb->e2fs_gcount;
/* I am not yet convinced that this next bit is necessary.
i = dir->u.ext2_i.i_block_group;
- for (j = 0; j < sb->u.ext2_sb.s_groups_count; j++) {
+ 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) {
@@ -341,11 +341,11 @@
break;
}
else
- i = ++i % sb->u.ext2_sb.s_groups_count;
+ i = ++i % sb->u.ext2_sb.e2fs_gcount;
}
*/
if (!gdp) {
- for (j = 0; j < sb->s_groups_count; j++) {
+ 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) {
@@ -374,10 +374,10 @@
* Use a quadratic hash to find a group with a
* free inode
*/
- for (j = 1; j < sb->s_groups_count; j <<= 1) {
+ for (j = 1; j < sb->e2fs_gcount; j <<= 1) {
i += j;
- if (i >= sb->s_groups_count)
- i -= sb->s_groups_count;
+ 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) {
gdp = tmp;
@@ -390,8 +390,8 @@
* That failed: try linear search for a free inode
*/
i = dir->i_block_group + 1;
- for (j = 2; j < sb->s_groups_count; j++) {
- if (++i >= sb->s_groups_count)
+ for (j = 2; j < sb->e2fs_gcount; j++) {
+ if (++i >= sb->e2fs_gcount)
i = 0;
tmp = get_group_desc(ITOV(dir)->v_mount,i,&bh2);
if (tmp->bg_free_inodes_count) {
@@ -407,7 +407,7 @@
return 0;
}
bitmap_nr = load_inode_bitmap (ITOV(dir)->v_mount, i);
- bh = sb->s_inode_bitmap[bitmap_nr];
+ bh = sb->e2fs_ib[bitmap_nr];
if ((j = find_first_zero_bit ((unsigned long *) bh->b_data,
EXT2_INODES_PER_GROUP(sb))) <
EXT2_INODES_PER_GROUP(sb)) {
@@ -448,7 +448,7 @@
mark_buffer_dirty(bh2);
es->s_free_inodes_count--;
/* mark_buffer_dirty(sb->u.ext2_sb.s_sbh, 1); */
- sb->s_dirt = 1;
+ sb->e2fs_fmod = 1;
unlock_super (DEVVP(dir));
return j;
}
@@ -457,7 +457,7 @@
static unsigned long ext2_count_free_inodes (struct mount * mp)
{
#ifdef EXT2FS_DEBUG
- struct ext2_sb_info *sb = VFSTOEXT2(mp)->um_e2fs;
+ struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs;
struct ext2_super_block * es;
unsigned long desc_count, bitmap_count, x;
int bitmap_nr;
@@ -465,15 +465,15 @@
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_inodes_count;
bitmap_nr = load_inode_bitmap (mp, i);
- x = ext2_count_free (sb->s_inode_bitmap[bitmap_nr],
+ x = ext2_count_free (sb->e2fs_ib[bitmap_nr],
EXT2_INODES_PER_GROUP(sb) / 8);
ext2_debug ("group %d: stored = %d, counted = %lu\n",
i, gdp->bg_free_inodes_count, x);
@@ -499,15 +499,15 @@
int i;
lock_super (sb);
- es = sb->u.ext2_sb.s_es;
+ es = sb->u.ext2_sb.e2fs;
desc_count = 0;
bitmap_count = 0;
gdp = NULL;
- for (i = 0; i < sb->u.ext2_sb.s_groups_count; i++) {
+ 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;
bitmap_nr = load_inode_bitmap (sb, i);
- x = ext2_count_free (sb->u.ext2_sb.s_inode_bitmap[bitmap_nr],
+ x = ext2_count_free (sb->u.ext2_sb.e2fs_ib[bitmap_nr],
EXT2_INODES_PER_GROUP(sb) / 8);
if (gdp->bg_free_inodes_count != x)
printf ( "ext2_check_inodes_bitmap:"
More information about the p4-projects
mailing list