|
@@ -2472,13 +2472,13 @@ static int ext3_statfs (struct dentry * dentry, struct kstatfs * buf)
|
|
|
buf->f_type = EXT3_SUPER_MAGIC;
|
|
|
buf->f_bsize = sb->s_blocksize;
|
|
|
buf->f_blocks = le32_to_cpu(es->s_blocks_count) - sbi->s_overhead_last;
|
|
|
- buf->f_bfree = percpu_counter_sum(&sbi->s_freeblocks_counter);
|
|
|
+ buf->f_bfree = percpu_counter_sum_positive(&sbi->s_freeblocks_counter);
|
|
|
es->s_free_blocks_count = cpu_to_le32(buf->f_bfree);
|
|
|
buf->f_bavail = buf->f_bfree - le32_to_cpu(es->s_r_blocks_count);
|
|
|
if (buf->f_bfree < le32_to_cpu(es->s_r_blocks_count))
|
|
|
buf->f_bavail = 0;
|
|
|
buf->f_files = le32_to_cpu(es->s_inodes_count);
|
|
|
- buf->f_ffree = percpu_counter_sum(&sbi->s_freeinodes_counter);
|
|
|
+ buf->f_ffree = percpu_counter_sum_positive(&sbi->s_freeinodes_counter);
|
|
|
es->s_free_inodes_count = cpu_to_le32(buf->f_ffree);
|
|
|
buf->f_namelen = EXT3_NAME_LEN;
|
|
|
fsid = le64_to_cpup((void *)es->s_uuid) ^
|