aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/super.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-03-31 19:32:21 -0400
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-04-03 04:27:51 -0400
commitb74737541c5190ab2ad3ee0d7b323e860b988df1 (patch)
tree5f836c7bf8ac075169b89238a5f6a865c9d4c3a8 /fs/f2fs/super.c
parent60374688a1a1cc8ef173d3dab42574719b851ac4 (diff)
f2fs: avoid race for summary information
In order to do GC more reliably, I'd like to lock the vicitm summary page until its GC is completed, and also prevent any checkpoint process. Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs/super.c')
-rw-r--r--fs/f2fs/super.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 728c20a8e456..ca5413346653 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -137,10 +137,13 @@ int f2fs_sync_fs(struct super_block *sb, int sync)
137 if (!sbi->s_dirty && !get_pages(sbi, F2FS_DIRTY_NODES)) 137 if (!sbi->s_dirty && !get_pages(sbi, F2FS_DIRTY_NODES))
138 return 0; 138 return 0;
139 139
140 if (sync) 140 if (sync) {
141 mutex_lock(&sbi->gc_mutex);
141 write_checkpoint(sbi, false); 142 write_checkpoint(sbi, false);
142 else 143 mutex_unlock(&sbi->gc_mutex);
144 } else {
143 f2fs_balance_fs(sbi); 145 f2fs_balance_fs(sbi);
146 }
144 147
145 return 0; 148 return 0;
146} 149}