Loading fs/f2fs/segment.c +10 −5 Original line number Diff line number Diff line Loading @@ -1528,17 +1528,22 @@ static int get_ssr_segment(struct f2fs_sb_info *sbi, int type) { struct curseg_info *curseg = CURSEG_I(sbi, type); const struct victim_selection *v_ops = DIRTY_I(sbi)->v_ops; int i; int i, n; /* need_SSR() already forces to do this */ if (v_ops->get_victim(sbi, &(curseg)->next_segno, BG_GC, type, SSR)) return 1; if (IS_NODESEG(type)) return 0; /* For node segments, let's do SSR more intensively */ if (IS_NODESEG(type)) { i = CURSEG_HOT_NODE; n = CURSEG_COLD_NODE; } else { i = CURSEG_HOT_DATA; n = CURSEG_COLD_DATA; } /* For data segments, let's do SSR more intensively */ for (i = CURSEG_HOT_DATA; i <= CURSEG_COLD_DATA; i++) { for (; i <= n; i++) { if (i == type) continue; if (v_ops->get_victim(sbi, &(curseg)->next_segno, Loading Loading
fs/f2fs/segment.c +10 −5 Original line number Diff line number Diff line Loading @@ -1528,17 +1528,22 @@ static int get_ssr_segment(struct f2fs_sb_info *sbi, int type) { struct curseg_info *curseg = CURSEG_I(sbi, type); const struct victim_selection *v_ops = DIRTY_I(sbi)->v_ops; int i; int i, n; /* need_SSR() already forces to do this */ if (v_ops->get_victim(sbi, &(curseg)->next_segno, BG_GC, type, SSR)) return 1; if (IS_NODESEG(type)) return 0; /* For node segments, let's do SSR more intensively */ if (IS_NODESEG(type)) { i = CURSEG_HOT_NODE; n = CURSEG_COLD_NODE; } else { i = CURSEG_HOT_DATA; n = CURSEG_COLD_DATA; } /* For data segments, let's do SSR more intensively */ for (i = CURSEG_HOT_DATA; i <= CURSEG_COLD_DATA; i++) { for (; i <= n; i++) { if (i == type) continue; if (v_ops->get_victim(sbi, &(curseg)->next_segno, Loading