Lines Matching refs:cpc
2054 static bool add_discard_addrs(struct f2fs_sb_info *sbi, struct cp_control *cpc,
2058 struct seg_entry *se = get_seg_entry(sbi, cpc->trim_start);
2064 bool force = (cpc->reason & CP_DISCARD);
2095 (end - start) < cpc->trim_minlen)
2104 de->start_blkaddr = START_BLOCK(sbi, cpc->trim_start);
2147 struct cp_control *cpc)
2156 bool force = (cpc->reason & CP_DISCARD);
2189 if (force && start >= cpc->trim_start &&
2190 (end - 1) <= cpc->trim_end)
2231 (force && len < cpc->trim_minlen))
3198 struct cp_control *cpc)
3200 __u64 trim_start = cpc->trim_start;
3204 for (; cpc->trim_start <= cpc->trim_end; cpc->trim_start++) {
3205 if (add_discard_addrs(sbi, cpc, true)) {
3212 cpc->trim_start = trim_start;
3290 struct cp_control cpc;
3316 cpc.reason = CP_DISCARD;
3317 cpc.trim_minlen = max_t(__u64, 1, F2FS_BYTES_TO_BLK(range->minlen));
3318 cpc.trim_start = start_segno;
3319 cpc.trim_end = end_segno;
3326 err = f2fs_write_checkpoint(sbi, &cpc);
3343 __init_discard_policy(sbi, &dpolicy, DPOLICY_FSTRIM, cpc.trim_minlen);
4354 void f2fs_flush_sit_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc)
4421 if (!(cpc->reason & CP_DISCARD)) {
4422 cpc->trim_start = segno;
4423 add_discard_addrs(sbi, cpc, false);
4461 if (cpc->reason & CP_DISCARD) {
4462 __u64 trim_start = cpc->trim_start;
4464 for (; cpc->trim_start <= cpc->trim_end; cpc->trim_start++)
4465 add_discard_addrs(sbi, cpc, false);
4467 cpc->trim_start = trim_start;