Lines Matching refs:di
980 dc->di.lstart = lstart; in __create_discard_cmd()
981 dc->di.start = start; in __create_discard_cmd()
982 dc->di.len = len; in __create_discard_cmd()
1012 if (cur_dc->di.lstart + cur_dc->di.len > next_dc->di.lstart) { in f2fs_check_discard_tree()
1015 cur_dc->di.lstart, cur_dc->di.len, in f2fs_check_discard_tree()
1016 next_dc->di.lstart, next_dc->di.len); in f2fs_check_discard_tree()
1035 if (blkaddr < dc->di.lstart) in __lookup_discard_cmd()
1037 else if (blkaddr >= dc->di.lstart + dc->di.len) in __lookup_discard_cmd()
1068 if (blkaddr < dc->di.lstart) in __lookup_discard_cmd_ret()
1070 else if (blkaddr >= dc->di.lstart + dc->di.len) in __lookup_discard_cmd_ret()
1081 if (parent && blkaddr > dc->di.lstart) in __lookup_discard_cmd_ret()
1086 if (parent && blkaddr < dc->di.lstart) in __lookup_discard_cmd_ret()
1110 dcc->undiscard_blks -= dc->di.len; in __detach_discard_cmd()
1123 trace_f2fs_remove_discard(dc->bdev, dc->di.start, dc->di.len); in __remove_discard_cmd()
1140 dc->di.lstart, dc->di.start, dc->di.len, dc->error); in __remove_discard_cmd()
1249 trace_f2fs_issue_reset_zone(bdev, dc->di.start); in __submit_zone_reset_cmd()
1264 __check_sit_bitmap(sbi, dc->di.lstart, dc->di.lstart + dc->di.len); in __submit_zone_reset_cmd()
1266 bio->bi_iter.bi_sector = SECTOR_FROM_BLOCK(dc->di.start); in __submit_zone_reset_cmd()
1272 f2fs_update_iostat(sbi, NULL, FS_ZONE_RESET_IO, dc->di.len * F2FS_BLKSIZE); in __submit_zone_reset_cmd()
1304 if (f2fs_blkz_is_seq(sbi, devi, dc->di.start)) { in __submit_discard_cmd()
1321 trace_f2fs_issue_discard(bdev, dc->di.start, dc->di.len); in __submit_discard_cmd()
1323 lstart = dc->di.lstart; in __submit_discard_cmd()
1324 start = dc->di.start; in __submit_discard_cmd()
1325 len = dc->di.len; in __submit_discard_cmd()
1328 dc->di.len = 0; in __submit_discard_cmd()
1344 dc->di.len += len; in __submit_discard_cmd()
1421 if (lstart < dc->di.lstart) { in __insert_discard_cmd()
1423 } else if (lstart >= dc->di.lstart + dc->di.len) { in __insert_discard_cmd()
1441 list_move_tail(&dc->list, &dcc->pend_list[plist_idx(dc->di.len)]); in __relocate_discard_cmd()
1448 struct discard_info di = dc->di; in __punch_discard_cmd() local
1451 if (dc->state == D_DONE || dc->di.len == 1) { in __punch_discard_cmd()
1456 dcc->undiscard_blks -= di.len; in __punch_discard_cmd()
1458 if (blkaddr > di.lstart) { in __punch_discard_cmd()
1459 dc->di.len = blkaddr - dc->di.lstart; in __punch_discard_cmd()
1460 dcc->undiscard_blks += dc->di.len; in __punch_discard_cmd()
1465 if (blkaddr < di.lstart + di.len - 1) { in __punch_discard_cmd()
1468 di.start + blkaddr + 1 - di.lstart, in __punch_discard_cmd()
1469 di.lstart + di.len - 1 - blkaddr); in __punch_discard_cmd()
1471 dc->di.lstart++; in __punch_discard_cmd()
1472 dc->di.len--; in __punch_discard_cmd()
1473 dc->di.start++; in __punch_discard_cmd()
1474 dcc->undiscard_blks += dc->di.len; in __punch_discard_cmd()
1487 struct discard_info di = {0}; in __update_discard_tree_range() local
1499 di.lstart = lstart; in __update_discard_tree_range()
1500 di.len = next_dc ? next_dc->di.lstart - lstart : len; in __update_discard_tree_range()
1501 di.len = min(di.len, len); in __update_discard_tree_range()
1502 di.start = start; in __update_discard_tree_range()
1511 di.lstart = prev_dc->di.lstart + prev_dc->di.len; in __update_discard_tree_range()
1512 if (di.lstart < lstart) in __update_discard_tree_range()
1513 di.lstart = lstart; in __update_discard_tree_range()
1514 if (di.lstart >= end) in __update_discard_tree_range()
1517 if (!next_dc || next_dc->di.lstart > end) in __update_discard_tree_range()
1518 di.len = end - di.lstart; in __update_discard_tree_range()
1520 di.len = next_dc->di.lstart - di.lstart; in __update_discard_tree_range()
1521 di.start = start + di.lstart - lstart; in __update_discard_tree_range()
1524 if (!di.len) in __update_discard_tree_range()
1529 __is_discard_back_mergeable(&di, &prev_dc->di, in __update_discard_tree_range()
1531 prev_dc->di.len += di.len; in __update_discard_tree_range()
1532 dcc->undiscard_blks += di.len; in __update_discard_tree_range()
1534 di = prev_dc->di; in __update_discard_tree_range()
1541 __is_discard_front_mergeable(&di, &next_dc->di, in __update_discard_tree_range()
1543 next_dc->di.lstart = di.lstart; in __update_discard_tree_range()
1544 next_dc->di.len += di.len; in __update_discard_tree_range()
1545 next_dc->di.start = di.start; in __update_discard_tree_range()
1546 dcc->undiscard_blks += di.len; in __update_discard_tree_range()
1555 di.lstart, di.start, di.len); in __update_discard_tree_range()
1629 dcc->next_pos = dc->di.lstart + dc->di.len; in __issue_discard_cmd_orderly()
1766 len = dc->di.len; in __wait_one_discard_bio()
1789 if (iter->di.lstart + iter->di.len <= start || in __wait_discard_cmd_range()
1790 end <= iter->di.lstart) in __wait_discard_cmd_range()
1792 if (iter->di.len < dpolicy->granularity) in __wait_discard_cmd_range()
1797 trimmed += iter->di.len; in __wait_discard_cmd_range()
1851 if (f2fs_blkz_is_seq(sbi, devi, dc->di.start)) { in f2fs_wait_discard_bio()
3415 while (dc && dc->di.lstart <= end) { in __issue_discard_cmd_range()
3419 if (dc->di.len < dpolicy->granularity) in __issue_discard_cmd_range()
3430 start = dc->di.lstart + dc->di.len; in __issue_discard_cmd_range()