Lines Matching refs: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;
1133 CLST lcn, clen, vcn = vbo >> cluster_bits, vcn_next;
1137 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx))
1140 if (lcn == SPARSE_LCN)
1143 lbo = ((u64)lcn << cluster_bits) + off;
1158 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) ||
1162 if (lcn == SPARSE_LCN)
1168 lbo = ((u64)lcn << cluster_bits);
1180 CLST lcn;
1183 if (!run_lookup_entry(run, vbo >> cluster_bits, &lcn, NULL, NULL))
1186 lbo = ((u64)lcn << cluster_bits) + (vbo & sbi->cluster_mask);
1201 CLST lcn, clen;
1216 } else if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) {
1220 if (lcn == SPARSE_LCN) {
1225 lbo = ((u64)lcn << cluster_bits) + off;
1276 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) ||
1282 if (lcn == SPARSE_LCN) {
1287 lbo = ((u64)lcn << cluster_bits);
1330 CLST lcn, clen;
1336 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) {
1342 lbo = ((u64)lcn << cluster_bits) + off;
1394 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) ||
1400 lbo = ((u64)lcn << cluster_bits);
1507 CLST lcn, clen, vcn, vcn_next;
1524 if (!run_lookup_entry(run, vcn, &lcn, &clen, &run_idx)) {
1533 lbo = ((u64)lcn << cluster_bits) + off;
1572 if (!run_get_entry(run, ++run_idx, &vcn, &lcn, &clen) ||
1603 CLST lcn, clen;
1620 if (!run_lookup_entry(run, 0, &lcn, &clen, &run_idx)) {
1630 lbo = (u64)lcn << cluster_bits;
1652 } while (run_get_entry(run, ++run_idx, NULL, &lcn, &clen));
1670 CLST lcn, len;
1673 if (!run_lookup_entry(run, vbo >> cluster_bits, &lcn, &len, NULL))
1677 *lbo = lcn == SPARSE_LCN ? -1 : (((u64)lcn << cluster_bits) + off);
2471 static inline void ntfs_unmap_and_discard(struct ntfs_sb_info *sbi, CLST lcn,
2474 ntfs_unmap_meta(sbi->sb, lcn, len);
2475 ntfs_discard(sbi, lcn, len);
2478 void mark_as_free_ex(struct ntfs_sb_info *sbi, CLST lcn, CLST len, bool trim)
2485 if (!wnd_is_used(wnd, lcn, len)) {
2489 end = lcn + len;
2491 for (i = lcn; i < end; i++) {
2494 lcn = i;
2503 ntfs_unmap_and_discard(sbi, lcn, len);
2505 wnd_set_free(wnd, lcn, len);
2514 ntfs_unmap_and_discard(sbi, lcn, len);
2515 wnd_set_free(wnd, lcn, len);
2526 wnd_zone_set(wnd, lcn, zlen);
2530 if (lcn + len == zone_lcn) {
2532 wnd_zone_set(wnd, lcn, zlen);
2533 } else if (zone_lcn + zone_len == lcn) {
2551 CLST lcn, len;
2554 while (run_get_entry(run, idx++, NULL, &lcn, &len)) {
2555 if (lcn == SPARSE_LCN)
2558 mark_as_free_ex(sbi, lcn, len, trim);