aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/ext3/super.c4
-rw-r--r--fs/ext4/super.c4
-rw-r--r--fs/file_table.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 9537316a07..c5a52c9775 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -2472,13 +2472,13 @@ static int ext3_statfs (struct dentry * dentry, struct kstatfs * buf)
2472 buf->f_type = EXT3_SUPER_MAGIC; 2472 buf->f_type = EXT3_SUPER_MAGIC;
2473 buf->f_bsize = sb->s_blocksize; 2473 buf->f_bsize = sb->s_blocksize;
2474 buf->f_blocks = le32_to_cpu(es->s_blocks_count) - sbi->s_overhead_last; 2474 buf->f_blocks = le32_to_cpu(es->s_blocks_count) - sbi->s_overhead_last;
2475 buf->f_bfree = percpu_counter_sum(&sbi->s_freeblocks_counter); 2475 buf->f_bfree = percpu_counter_sum_positive(&sbi->s_freeblocks_counter);
2476 es->s_free_blocks_count = cpu_to_le32(buf->f_bfree); 2476 es->s_free_blocks_count = cpu_to_le32(buf->f_bfree);
2477 buf->f_bavail = buf->f_bfree - le32_to_cpu(es->s_r_blocks_count); 2477 buf->f_bavail = buf->f_bfree - le32_to_cpu(es->s_r_blocks_count);
2478 if (buf->f_bfree < le32_to_cpu(es->s_r_blocks_count)) 2478 if (buf->f_bfree < le32_to_cpu(es->s_r_blocks_count))
2479 buf->f_bavail = 0; 2479 buf->f_bavail = 0;
2480 buf->f_files = le32_to_cpu(es->s_inodes_count); 2480 buf->f_files = le32_to_cpu(es->s_inodes_count);
2481 buf->f_ffree = percpu_counter_sum(&sbi->s_freeinodes_counter); 2481 buf->f_ffree = percpu_counter_sum_positive(&sbi->s_freeinodes_counter);
2482 es->s_free_inodes_count = cpu_to_le32(buf->f_ffree); 2482 es->s_free_inodes_count = cpu_to_le32(buf->f_ffree);
2483 buf->f_namelen = EXT3_NAME_LEN; 2483 buf->f_namelen = EXT3_NAME_LEN;
2484 fsid = le64_to_cpup((void *)es->s_uuid) ^ 2484 fsid = le64_to_cpup((void *)es->s_uuid) ^
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 3c1397fa83..1814d4b8ff 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2592,13 +2592,13 @@ static int ext4_statfs (struct dentry * dentry, struct kstatfs * buf)
2592 buf->f_type = EXT4_SUPER_MAGIC; 2592 buf->f_type = EXT4_SUPER_MAGIC;
2593 buf->f_bsize = sb->s_blocksize; 2593 buf->f_bsize = sb->s_blocksize;
2594 buf->f_blocks = ext4_blocks_count(es) - sbi->s_overhead_last; 2594 buf->f_blocks = ext4_blocks_count(es) - sbi->s_overhead_last;
2595 buf->f_bfree = percpu_counter_sum(&sbi->s_freeblocks_counter); 2595 buf->f_bfree = percpu_counter_sum_positive(&sbi->s_freeblocks_counter);
2596 es->s_free_blocks_count = cpu_to_le32(buf->f_bfree); 2596 es->s_free_blocks_count = cpu_to_le32(buf->f_bfree);
2597 buf->f_bavail = buf->f_bfree - ext4_r_blocks_count(es); 2597 buf->f_bavail = buf->f_bfree - ext4_r_blocks_count(es);
2598 if (buf->f_bfree < ext4_r_blocks_count(es)) 2598 if (buf->f_bfree < ext4_r_blocks_count(es))
2599 buf->f_bavail = 0; 2599 buf->f_bavail = 0;
2600 buf->f_files = le32_to_cpu(es->s_inodes_count); 2600 buf->f_files = le32_to_cpu(es->s_inodes_count);
2601 buf->f_ffree = percpu_counter_sum(&sbi->s_freeinodes_counter); 2601 buf->f_ffree = percpu_counter_sum_positive(&sbi->s_freeinodes_counter);
2602 es->s_free_inodes_count = cpu_to_le32(buf->f_ffree); 2602 es->s_free_inodes_count = cpu_to_le32(buf->f_ffree);
2603 buf->f_namelen = EXT4_NAME_LEN; 2603 buf->f_namelen = EXT4_NAME_LEN;
2604 fsid = le64_to_cpup((void *)es->s_uuid) ^ 2604 fsid = le64_to_cpup((void *)es->s_uuid) ^
diff --git a/fs/file_table.c b/fs/file_table.c
index d17fd691b8..287fdce7f7 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -98,7 +98,7 @@ struct file *get_empty_filp(void)
98 * percpu_counters are inaccurate. Do an expensive check before 98 * percpu_counters are inaccurate. Do an expensive check before
99 * we go and fail. 99 * we go and fail.
100 */ 100 */
101 if (percpu_counter_sum(&nr_files) >= files_stat.max_files) 101 if (percpu_counter_sum_positive(&nr_files) >= files_stat.max_files)
102 goto over; 102 goto over;
103 } 103 }
104 104