Lines Matching defs:lcn

352 int ntfs_look_for_free_space(struct ntfs_sb_info *sbi, CLST lcn, CLST len,
380 lcn = wnd_zone_bit(wnd);
383 wnd_zone_set(wnd, lcn + alen, zlen - alen);
385 err = wnd_set_used(wnd, lcn, alen);
389 alcn = lcn;
396 if (!lcn)
397 lcn = sbi->used.next_free_lcn;
399 if (lcn >= wnd->nbits)
400 lcn = 0;
402 alen = wnd_find(wnd, len, lcn, BITMAP_FIND_MARK_AS_USED, &alcn);
815 CLST lcn, vcn, len;
827 if (!run_lookup_entry(&ni->file.run, vcn - 1, &lcn, &len, NULL))
828 lcn = SPARSE_LCN;
831 if (lcn == SPARSE_LCN)
834 lcn_s = lcn + 1;
1113 CLST lcn, clen, vcn = vbo >> cluster_bits, vcn_next;
1117 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx))
1120 if (lcn == SPARSE_LCN)
1123 lbo = ((u64)lcn << cluster_bits) + off;
1138 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) ||
1142 if (lcn == SPARSE_LCN)
1148 lbo = ((u64)lcn << cluster_bits);
1160 CLST lcn;
1163 if (!run_lookup_entry(run, vbo >> cluster_bits, &lcn, NULL, NULL))
1166 lbo = ((u64)lcn << cluster_bits) + (vbo & sbi->cluster_mask);
1181 CLST lcn, clen;
1196 } else if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) {
1200 if (lcn == SPARSE_LCN) {
1205 lbo = ((u64)lcn << cluster_bits) + off;
1256 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) ||
1262 if (lcn == SPARSE_LCN) {
1267 lbo = ((u64)lcn << cluster_bits);
1310 CLST lcn, clen;
1316 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) {
1322 lbo = ((u64)lcn << cluster_bits) + off;
1374 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) ||
1380 lbo = ((u64)lcn << cluster_bits);
1487 CLST lcn, clen, vcn, vcn_next;
1504 if (!run_lookup_entry(run, vcn, &lcn, &clen, &run_idx)) {
1513 lbo = ((u64)lcn << cluster_bits) + off;
1552 if (!run_get_entry(run, ++run_idx, &vcn, &lcn, &clen) ||
1583 CLST lcn, clen;
1600 if (!run_lookup_entry(run, 0, &lcn, &clen, &run_idx)) {
1610 lbo = (u64)lcn << cluster_bits;
1632 } while (run_get_entry(run, ++run_idx, NULL, &lcn, &clen));
1650 CLST lcn, len;
1653 if (!run_lookup_entry(run, vbo >> cluster_bits, &lcn, &len, NULL))
1657 *lbo = lcn == SPARSE_LCN ? -1 : (((u64)lcn << cluster_bits) + off);
2451 static inline void ntfs_unmap_and_discard(struct ntfs_sb_info *sbi, CLST lcn,
2454 ntfs_unmap_meta(sbi->sb, lcn, len);
2455 ntfs_discard(sbi, lcn, len);
2458 void mark_as_free_ex(struct ntfs_sb_info *sbi, CLST lcn, CLST len, bool trim)
2465 if (!wnd_is_used(wnd, lcn, len)) {
2469 end = lcn + len;
2471 for (i = lcn; i < end; i++) {
2474 lcn = i;
2483 ntfs_unmap_and_discard(sbi, lcn, len);
2485 wnd_set_free(wnd, lcn, len);
2494 ntfs_unmap_and_discard(sbi, lcn, len);
2495 wnd_set_free(wnd, lcn, len);
2506 wnd_zone_set(wnd, lcn, zlen);
2510 if (lcn + len == zone_lcn) {
2512 wnd_zone_set(wnd, lcn, zlen);
2513 } else if (zone_lcn + zone_len == lcn) {
2531 CLST lcn, len;
2534 while (run_get_entry(run, idx++, NULL, &lcn, &len)) {
2535 if (lcn == SPARSE_LCN)
2538 mark_as_free_ex(sbi, lcn, len, trim);