diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index a9a3c9f190326fed1b776ef32909e8078401f09d..b9d6c4250efaab4cd5b0331488fb2b4618bbb341 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, 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 */