diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-09-21 12:37:23 -0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-09-30 20:34:26 -0400 |
commit | 646e759a4d09062df943eaf61cb8141a91204380 (patch) | |
tree | 4e9dca2bfeaada534b1d1be90f96e61244124812 | |
parent | f6fe2be3c6d6f0127742ae1cc2e3ffe9ad31ea8b (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.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index a9a3c9f19032..b9d6c4250efa 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c | |||
@@ -847,7 +847,8 @@ static int do_garbage_collect(struct f2fs_sb_info *sbi, | |||
847 | 847 | ||
848 | for (segno = start_segno; segno < end_segno; segno++) { | 848 | for (segno = start_segno; segno < end_segno; segno++) { |
849 | 849 | ||
850 | if (get_valid_blocks(sbi, segno, 1) == 0) | 850 | if (get_valid_blocks(sbi, segno, 1) == 0 || |
851 | unlikely(f2fs_cp_error(sbi))) | ||
851 | goto next; | 852 | goto next; |
852 | 853 | ||
853 | /* find segment summary of victim */ | 854 | /* find segment summary of victim */ |