提交 24097d12 编写于 作者: A Akinobu Mita 提交者: Linus Torvalds

ext2: use ext2_group_first_block_no()

Use ext2_group_first_block_no() and assign the return values to
ext2_fsblk_t variables.
Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 bbff2860
...@@ -275,8 +275,7 @@ static unsigned long ext2_find_near(struct inode *inode, Indirect *ind) ...@@ -275,8 +275,7 @@ static unsigned long ext2_find_near(struct inode *inode, Indirect *ind)
* It is going to be refered from inode itself? OK, just put it into * It is going to be refered from inode itself? OK, just put it into
* the same cylinder group then. * the same cylinder group then.
*/ */
bg_start = (ei->i_block_group * EXT2_BLOCKS_PER_GROUP(inode->i_sb)) + bg_start = ext2_group_first_block_no(inode->i_sb, ei->i_block_group);
le32_to_cpu(EXT2_SB(inode->i_sb)->s_es->s_first_data_block);
colour = (current->pid % 16) * colour = (current->pid % 16) *
(EXT2_BLOCKS_PER_GROUP(inode->i_sb) / 16); (EXT2_BLOCKS_PER_GROUP(inode->i_sb) / 16);
return bg_start + colour; return bg_start + colour;
......
...@@ -621,13 +621,13 @@ static int ext2_check_descriptors(struct super_block *sb) ...@@ -621,13 +621,13 @@ static int ext2_check_descriptors(struct super_block *sb)
{ {
int i; int i;
struct ext2_sb_info *sbi = EXT2_SB(sb); struct ext2_sb_info *sbi = EXT2_SB(sb);
unsigned long first_block = le32_to_cpu(sbi->s_es->s_first_data_block);
unsigned long last_block;
ext2_debug ("Checking group descriptors"); ext2_debug ("Checking group descriptors");
for (i = 0; i < sbi->s_groups_count; i++) { for (i = 0; i < sbi->s_groups_count; i++) {
struct ext2_group_desc *gdp = ext2_get_group_desc(sb, i, NULL); struct ext2_group_desc *gdp = ext2_get_group_desc(sb, i, NULL);
ext2_fsblk_t first_block = ext2_group_first_block_no(sb, i);
ext2_fsblk_t last_block;
if (i == sbi->s_groups_count - 1) if (i == sbi->s_groups_count - 1)
last_block = le32_to_cpu(sbi->s_es->s_blocks_count) - 1; last_block = le32_to_cpu(sbi->s_es->s_blocks_count) - 1;
...@@ -663,7 +663,6 @@ static int ext2_check_descriptors(struct super_block *sb) ...@@ -663,7 +663,6 @@ static int ext2_check_descriptors(struct super_block *sb)
i, (unsigned long) le32_to_cpu(gdp->bg_inode_table)); i, (unsigned long) le32_to_cpu(gdp->bg_inode_table));
return 0; return 0;
} }
first_block += EXT2_BLOCKS_PER_GROUP(sb);
} }
return 1; return 1;
} }
...@@ -720,10 +719,9 @@ static unsigned long descriptor_loc(struct super_block *sb, ...@@ -720,10 +719,9 @@ static unsigned long descriptor_loc(struct super_block *sb,
int nr) int nr)
{ {
struct ext2_sb_info *sbi = EXT2_SB(sb); struct ext2_sb_info *sbi = EXT2_SB(sb);
unsigned long bg, first_data_block, first_meta_bg; unsigned long bg, first_meta_bg;
int has_super = 0; int has_super = 0;
first_data_block = le32_to_cpu(sbi->s_es->s_first_data_block);
first_meta_bg = le32_to_cpu(sbi->s_es->s_first_meta_bg); first_meta_bg = le32_to_cpu(sbi->s_es->s_first_meta_bg);
if (!EXT2_HAS_INCOMPAT_FEATURE(sb, EXT2_FEATURE_INCOMPAT_META_BG) || if (!EXT2_HAS_INCOMPAT_FEATURE(sb, EXT2_FEATURE_INCOMPAT_META_BG) ||
...@@ -732,7 +730,8 @@ static unsigned long descriptor_loc(struct super_block *sb, ...@@ -732,7 +730,8 @@ static unsigned long descriptor_loc(struct super_block *sb,
bg = sbi->s_desc_per_block * nr; bg = sbi->s_desc_per_block * nr;
if (ext2_bg_has_super(sb, bg)) if (ext2_bg_has_super(sb, bg))
has_super = 1; has_super = 1;
return (first_data_block + has_super + (bg * sbi->s_blocks_per_group));
return ext2_group_first_block_no(sb, bg) + has_super;
} }
static int ext2_fill_super(struct super_block *sb, void *data, int silent) static int ext2_fill_super(struct super_block *sb, void *data, int silent)
......
...@@ -659,10 +659,8 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, ...@@ -659,10 +659,8 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh,
ext2_xattr_cache_insert(new_bh); ext2_xattr_cache_insert(new_bh);
} else { } else {
/* We need to allocate a new block */ /* We need to allocate a new block */
int goal = le32_to_cpu(EXT2_SB(sb)->s_es-> ext2_fsblk_t goal = ext2_group_first_block_no(sb,
s_first_data_block) + EXT2_I(inode)->i_block_group);
EXT2_I(inode)->i_block_group *
EXT2_BLOCKS_PER_GROUP(sb);
int block = ext2_new_block(inode, goal, &error); int block = ext2_new_block(inode, goal, &error);
if (error) if (error)
goto cleanup; goto cleanup;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册