diff options
-rw-r--r-- | fs/ext3/super.c | 4 | ||||
-rw-r--r-- | fs/ext4/super.c | 4 | ||||
-rw-r--r-- | fs/file_table.c | 2 | ||||
-rw-r--r-- | include/linux/percpu_counter.h | 4 | ||||
-rw-r--r-- | lib/percpu_counter.c | 4 |
5 files changed, 9 insertions, 9 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 9537316a0714..c5a52c9775a0 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 3c1397fa83df..1814d4b8ff1f 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 d17fd691b832..287fdce7f767 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 | ||
diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h index 2da92e8ce3dd..dd89eb978393 100644 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h | |||
@@ -34,7 +34,7 @@ void percpu_counter_init(struct percpu_counter *fbc, s64 amount); | |||
34 | void percpu_counter_destroy(struct percpu_counter *fbc); | 34 | void percpu_counter_destroy(struct percpu_counter *fbc); |
35 | void percpu_counter_set(struct percpu_counter *fbc, s64 amount); | 35 | void percpu_counter_set(struct percpu_counter *fbc, s64 amount); |
36 | void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch); | 36 | void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch); |
37 | s64 percpu_counter_sum(struct percpu_counter *fbc); | 37 | s64 percpu_counter_sum_positive(struct percpu_counter *fbc); |
38 | 38 | ||
39 | static inline void percpu_counter_add(struct percpu_counter *fbc, s64 amount) | 39 | static inline void percpu_counter_add(struct percpu_counter *fbc, s64 amount) |
40 | { | 40 | { |
@@ -102,7 +102,7 @@ static inline s64 percpu_counter_read_positive(struct percpu_counter *fbc) | |||
102 | return fbc->count; | 102 | return fbc->count; |
103 | } | 103 | } |
104 | 104 | ||
105 | static inline s64 percpu_counter_sum(struct percpu_counter *fbc) | 105 | static inline s64 percpu_counter_sum_positive(struct percpu_counter *fbc) |
106 | { | 106 | { |
107 | return percpu_counter_read_positive(fbc); | 107 | return percpu_counter_read_positive(fbc); |
108 | } | 108 | } |
diff --git a/lib/percpu_counter.c b/lib/percpu_counter.c index c9708db9b8d3..b0d80ea22a33 100644 --- a/lib/percpu_counter.c +++ b/lib/percpu_counter.c | |||
@@ -52,7 +52,7 @@ EXPORT_SYMBOL(__percpu_counter_add); | |||
52 | * Add up all the per-cpu counts, return the result. This is a more accurate | 52 | * Add up all the per-cpu counts, return the result. This is a more accurate |
53 | * but much slower version of percpu_counter_read_positive() | 53 | * but much slower version of percpu_counter_read_positive() |
54 | */ | 54 | */ |
55 | s64 percpu_counter_sum(struct percpu_counter *fbc) | 55 | s64 percpu_counter_sum_positive(struct percpu_counter *fbc) |
56 | { | 56 | { |
57 | s64 ret; | 57 | s64 ret; |
58 | int cpu; | 58 | int cpu; |
@@ -66,7 +66,7 @@ s64 percpu_counter_sum(struct percpu_counter *fbc) | |||
66 | spin_unlock(&fbc->lock); | 66 | spin_unlock(&fbc->lock); |
67 | return ret < 0 ? 0 : ret; | 67 | return ret < 0 ? 0 : ret; |
68 | } | 68 | } |
69 | EXPORT_SYMBOL(percpu_counter_sum); | 69 | EXPORT_SYMBOL(percpu_counter_sum_positive); |
70 | 70 | ||
71 | void percpu_counter_init(struct percpu_counter *fbc, s64 amount) | 71 | void percpu_counter_init(struct percpu_counter *fbc, s64 amount) |
72 | { | 72 | { |