提交 c4caae25 编写于 作者: E Eric Sandeen 提交者: Theodore Ts'o

ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs

When used_dirs was introduced for the flex_groups struct, it looks
like the accounting was not put into place properly, in some places
manipulating free_inodes rather than used_dirs.
Signed-off-by: NEric Sandeen <sandeen@redhat.com>
Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
上级 ba69f9ab
...@@ -263,7 +263,7 @@ void ext4_free_inode(handle_t *handle, struct inode *inode) ...@@ -263,7 +263,7 @@ void ext4_free_inode(handle_t *handle, struct inode *inode)
ext4_group_t f; ext4_group_t f;
f = ext4_flex_group(sbi, block_group); f = ext4_flex_group(sbi, block_group);
atomic_dec(&sbi->s_flex_groups[f].free_inodes); atomic_dec(&sbi->s_flex_groups[f].used_dirs);
} }
} }
...@@ -773,7 +773,7 @@ static int ext4_claim_inode(struct super_block *sb, ...@@ -773,7 +773,7 @@ static int ext4_claim_inode(struct super_block *sb,
if (sbi->s_log_groups_per_flex) { if (sbi->s_log_groups_per_flex) {
ext4_group_t f = ext4_flex_group(sbi, group); ext4_group_t f = ext4_flex_group(sbi, group);
atomic_inc(&sbi->s_flex_groups[f].free_inodes); atomic_inc(&sbi->s_flex_groups[f].used_dirs);
} }
} }
gdp->bg_checksum = ext4_group_desc_csum(sbi, group, gdp); gdp->bg_checksum = ext4_group_desc_csum(sbi, group, gdp);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册