aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r--fs/ext4/super.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 0b28b36e7915..05c159218bc2 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3892,7 +3892,8 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
3892 /* Register extent status tree shrinker */ 3892 /* Register extent status tree shrinker */
3893 ext4_es_register_shrinker(sbi); 3893 ext4_es_register_shrinker(sbi);
3894 3894
3895 if ((err = percpu_counter_init(&sbi->s_extent_cache_cnt, 0)) != 0) { 3895 err = percpu_counter_init(&sbi->s_extent_cache_cnt, 0, GFP_KERNEL);
3896 if (err) {
3896 ext4_msg(sb, KERN_ERR, "insufficient memory"); 3897 ext4_msg(sb, KERN_ERR, "insufficient memory");
3897 goto failed_mount3; 3898 goto failed_mount3;
3898 } 3899 }
@@ -4106,17 +4107,20 @@ no_journal:
4106 block = ext4_count_free_clusters(sb); 4107 block = ext4_count_free_clusters(sb);
4107 ext4_free_blocks_count_set(sbi->s_es, 4108 ext4_free_blocks_count_set(sbi->s_es,
4108 EXT4_C2B(sbi, block)); 4109 EXT4_C2B(sbi, block));
4109 err = percpu_counter_init(&sbi->s_freeclusters_counter, block); 4110 err = percpu_counter_init(&sbi->s_freeclusters_counter, block,
4111 GFP_KERNEL);
4110 if (!err) { 4112 if (!err) {
4111 unsigned long freei = ext4_count_free_inodes(sb); 4113 unsigned long freei = ext4_count_free_inodes(sb);
4112 sbi->s_es->s_free_inodes_count = cpu_to_le32(freei); 4114 sbi->s_es->s_free_inodes_count = cpu_to_le32(freei);
4113 err = percpu_counter_init(&sbi->s_freeinodes_counter, freei); 4115 err = percpu_counter_init(&sbi->s_freeinodes_counter, freei,
4116 GFP_KERNEL);
4114 } 4117 }
4115 if (!err) 4118 if (!err)
4116 err = percpu_counter_init(&sbi->s_dirs_counter, 4119 err = percpu_counter_init(&sbi->s_dirs_counter,
4117 ext4_count_dirs(sb)); 4120 ext4_count_dirs(sb), GFP_KERNEL);
4118 if (!err) 4121 if (!err)
4119 err = percpu_counter_init(&sbi->s_dirtyclusters_counter, 0); 4122 err = percpu_counter_init(&sbi->s_dirtyclusters_counter, 0,
4123 GFP_KERNEL);
4120 if (err) { 4124 if (err) {
4121 ext4_msg(sb, KERN_ERR, "insufficient memory"); 4125 ext4_msg(sb, KERN_ERR, "insufficient memory");
4122 goto failed_mount6; 4126 goto failed_mount6;