f2fs: use percpu_counter for alloc_valid_block_count
This patch uses percpu_count for sbi->alloc_valid_block_count.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 0ff862b..43e3e9c3 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -617,6 +617,7 @@
for (i = 0; i < NR_COUNT_TYPE; i++)
percpu_counter_destroy(&sbi->nr_pages[i]);
+ percpu_counter_destroy(&sbi->alloc_valid_block_count);
}
static void f2fs_put_super(struct super_block *sb)
@@ -1382,7 +1383,9 @@
if (err)
return err;
}
- return 0;
+
+ return percpu_counter_init(&sbi->alloc_valid_block_count, 0,
+ GFP_KERNEL);
}
/*
@@ -1601,7 +1604,7 @@
sbi->total_valid_block_count =
le64_to_cpu(sbi->ckpt->valid_block_count);
sbi->last_valid_block_count = sbi->total_valid_block_count;
- sbi->alloc_valid_block_count = 0;
+
for (i = 0; i < NR_INODE_TYPE; i++) {
INIT_LIST_HEAD(&sbi->inode_list[i]);
spin_lock_init(&sbi->inode_lock[i]);