PERFORCE change 164268 for review
Aditya Sarawgi
truncs at FreeBSD.org
Sat Jun 13 13:51:40 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=164268
Change 164268 by truncs at 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 */
More information about the p4-projects
mailing list