|
@@ -837,10 +837,10 @@ static void ext4_put_super(struct super_block *sb)
|
|
|
brelse(sbi->s_group_desc[i]);
|
|
|
ext4_kvfree(sbi->s_group_desc);
|
|
|
ext4_kvfree(sbi->s_flex_groups);
|
|
|
- percpu_counter_destroy(&sbi->s_freeblocks_counter);
|
|
|
+ percpu_counter_destroy(&sbi->s_freeclusters_counter);
|
|
|
percpu_counter_destroy(&sbi->s_freeinodes_counter);
|
|
|
percpu_counter_destroy(&sbi->s_dirs_counter);
|
|
|
- percpu_counter_destroy(&sbi->s_dirtyblocks_counter);
|
|
|
+ percpu_counter_destroy(&sbi->s_dirtyclusters_counter);
|
|
|
brelse(sbi->s_sbh);
|
|
|
#ifdef CONFIG_QUOTA
|
|
|
for (i = 0; i < MAXQUOTAS; i++)
|
|
@@ -2473,7 +2473,7 @@ static ssize_t delayed_allocation_blocks_show(struct ext4_attr *a,
|
|
|
char *buf)
|
|
|
{
|
|
|
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
|
|
- (s64) percpu_counter_sum(&sbi->s_dirtyblocks_counter));
|
|
|
+ (s64) percpu_counter_sum(&sbi->s_dirtyclusters_counter));
|
|
|
}
|
|
|
|
|
|
static ssize_t session_write_kbytes_show(struct ext4_attr *a,
|
|
@@ -3575,7 +3575,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
sbi->s_err_report.function = print_daily_error_info;
|
|
|
sbi->s_err_report.data = (unsigned long) sb;
|
|
|
|
|
|
- err = percpu_counter_init(&sbi->s_freeblocks_counter,
|
|
|
+ err = percpu_counter_init(&sbi->s_freeclusters_counter,
|
|
|
ext4_count_free_blocks(sb));
|
|
|
if (!err) {
|
|
|
err = percpu_counter_init(&sbi->s_freeinodes_counter,
|
|
@@ -3586,7 +3586,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
ext4_count_dirs(sb));
|
|
|
}
|
|
|
if (!err) {
|
|
|
- err = percpu_counter_init(&sbi->s_dirtyblocks_counter, 0);
|
|
|
+ err = percpu_counter_init(&sbi->s_dirtyclusters_counter, 0);
|
|
|
}
|
|
|
if (err) {
|
|
|
ext4_msg(sb, KERN_ERR, "insufficient memory");
|
|
@@ -3701,13 +3701,13 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
* The journal may have updated the bg summary counts, so we
|
|
|
* need to update the global counters.
|
|
|
*/
|
|
|
- percpu_counter_set(&sbi->s_freeblocks_counter,
|
|
|
+ percpu_counter_set(&sbi->s_freeclusters_counter,
|
|
|
ext4_count_free_blocks(sb));
|
|
|
percpu_counter_set(&sbi->s_freeinodes_counter,
|
|
|
ext4_count_free_inodes(sb));
|
|
|
percpu_counter_set(&sbi->s_dirs_counter,
|
|
|
ext4_count_dirs(sb));
|
|
|
- percpu_counter_set(&sbi->s_dirtyblocks_counter, 0);
|
|
|
+ percpu_counter_set(&sbi->s_dirtyclusters_counter, 0);
|
|
|
|
|
|
no_journal:
|
|
|
/*
|
|
@@ -3847,10 +3847,10 @@ failed_mount3:
|
|
|
del_timer(&sbi->s_err_report);
|
|
|
if (sbi->s_flex_groups)
|
|
|
ext4_kvfree(sbi->s_flex_groups);
|
|
|
- percpu_counter_destroy(&sbi->s_freeblocks_counter);
|
|
|
+ percpu_counter_destroy(&sbi->s_freeclusters_counter);
|
|
|
percpu_counter_destroy(&sbi->s_freeinodes_counter);
|
|
|
percpu_counter_destroy(&sbi->s_dirs_counter);
|
|
|
- percpu_counter_destroy(&sbi->s_dirtyblocks_counter);
|
|
|
+ percpu_counter_destroy(&sbi->s_dirtyclusters_counter);
|
|
|
if (sbi->s_mmp_tsk)
|
|
|
kthread_stop(sbi->s_mmp_tsk);
|
|
|
failed_mount2:
|
|
@@ -4173,8 +4173,9 @@ static int ext4_commit_super(struct super_block *sb, int sync)
|
|
|
else
|
|
|
es->s_kbytes_written =
|
|
|
cpu_to_le64(EXT4_SB(sb)->s_kbytes_written);
|
|
|
- ext4_free_blocks_count_set(es, percpu_counter_sum_positive(
|
|
|
- &EXT4_SB(sb)->s_freeblocks_counter));
|
|
|
+ ext4_free_blocks_count_set(es,
|
|
|
+ EXT4_C2B(EXT4_SB(sb), percpu_counter_sum_positive(
|
|
|
+ &EXT4_SB(sb)->s_freeclusters_counter)));
|
|
|
es->s_free_inodes_count =
|
|
|
cpu_to_le32(percpu_counter_sum_positive(
|
|
|
&EXT4_SB(sb)->s_freeinodes_counter));
|
|
@@ -4629,10 +4630,10 @@ static int ext4_statfs(struct dentry *dentry, struct kstatfs *buf)
|
|
|
buf->f_type = EXT4_SUPER_MAGIC;
|
|
|
buf->f_bsize = sb->s_blocksize;
|
|
|
buf->f_blocks = ext4_blocks_count(es) - sbi->s_overhead_last;
|
|
|
- bfree = percpu_counter_sum_positive(&sbi->s_freeblocks_counter) -
|
|
|
- percpu_counter_sum_positive(&sbi->s_dirtyblocks_counter);
|
|
|
+ bfree = percpu_counter_sum_positive(&sbi->s_freeclusters_counter) -
|
|
|
+ percpu_counter_sum_positive(&sbi->s_dirtyclusters_counter);
|
|
|
/* prevent underflow in case that few free space is available */
|
|
|
- buf->f_bfree = max_t(s64, bfree, 0);
|
|
|
+ buf->f_bfree = EXT4_C2B(sbi, max_t(s64, bfree, 0));
|
|
|
buf->f_bavail = buf->f_bfree - ext4_r_blocks_count(es);
|
|
|
if (buf->f_bfree < ext4_r_blocks_count(es))
|
|
|
buf->f_bavail = 0;
|