aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2016-09-21 09:37:23 -0700
committerMister Oyster <oysterized@gmail.com>2017-04-13 12:34:10 +0200
commit1a04158f734145a4378c43ddf4cf0a2e77e38f17 (patch)
tree88ba37e2ffa43047b432f3b0d8b67ecec7485b91
parentbee4c5731271033e3ef37ad80713812dcd3fed83 (diff)
f2fs: avoid gc in cp_error case
Otherwise, we can hit f2fs_bug_on(sbi, !PageUptodate(sum_page)); Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/gc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index e4145c583..c759a4bc0 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -843,7 +843,8 @@ static int do_garbage_collect(struct f2fs_sb_info *sbi,
for (segno = start_segno; segno < end_segno; segno++) {
- if (get_valid_blocks(sbi, segno, 1) == 0)
+ if (get_valid_blocks(sbi, segno, 1) == 0 ||
+ unlikely(f2fs_cp_error(sbi)))
goto next;
/* find segment summary of victim */