Lines Matching refs:cpc
2040 static bool add_discard_addrs(struct f2fs_sb_info *sbi, struct cp_control *cpc,
2045 struct seg_entry *se = get_seg_entry(sbi, cpc->trim_start);
2051 bool force = (cpc->reason & CP_DISCARD);
2080 && (end - start) < cpc->trim_minlen)
2089 de->start_blkaddr = START_BLOCK(sbi, cpc->trim_start);
2132 struct cp_control *cpc)
2141 bool force = (cpc->reason & CP_DISCARD);
2174 if (force && start >= cpc->trim_start &&
2175 (end - 1) <= cpc->trim_end)
2216 (force && len < cpc->trim_minlen))
3123 struct cp_control *cpc)
3125 __u64 trim_start = cpc->trim_start;
3129 for (; cpc->trim_start <= cpc->trim_end; cpc->trim_start++) {
3130 if (add_discard_addrs(sbi, cpc, true)) {
3137 cpc->trim_start = trim_start;
3215 struct cp_control cpc;
3241 cpc.reason = CP_DISCARD;
3242 cpc.trim_minlen = max_t(__u64, 1, F2FS_BYTES_TO_BLK(range->minlen));
3243 cpc.trim_start = start_segno;
3244 cpc.trim_end = end_segno;
3251 err = f2fs_write_checkpoint(sbi, &cpc);
3268 __init_discard_policy(sbi, &dpolicy, DPOLICY_FSTRIM, cpc.trim_minlen);
4245 void f2fs_flush_sit_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc)
4312 if (!(cpc->reason & CP_DISCARD)) {
4313 cpc->trim_start = segno;
4314 add_discard_addrs(sbi, cpc, false);
4352 if (cpc->reason & CP_DISCARD) {
4353 __u64 trim_start = cpc->trim_start;
4355 for (; cpc->trim_start <= cpc->trim_end; cpc->trim_start++)
4356 add_discard_addrs(sbi, cpc, false);
4358 cpc->trim_start = trim_start;