Lines Matching defs:lcn

23 	CLST lcn; /* Logical cluster number. */
124 if (n->lcn != SPARSE_LCN)
125 n->lcn += dl;
133 if ((n->lcn == SPARSE_LCN) != (r->lcn == SPARSE_LCN)) {
141 * of a next run lcn does not match
144 if (n->lcn != SPARSE_LCN && n->lcn != r->lcn + r->len)
192 bool run_lookup_entry(const struct runs_tree *run, CLST vcn, CLST *lcn,
215 *lcn = r->lcn == SPARSE_LCN ? SPARSE_LCN : (r->lcn + gap);
241 if (r->lcn != SPARSE_LCN)
242 r->lcn += dlen;
316 bool run_add_entry(struct runs_tree *run, CLST vcn, CLST lcn, CLST len,
344 (t->lcn == SPARSE_LCN) == (lcn == SPARSE_LCN) &&
345 (lcn == SPARSE_LCN || lcn == t->lcn + t->len)) {
415 r->lcn = lcn;
428 if (((lcn == SPARSE_LCN) != (r->lcn == SPARSE_LCN)) ||
429 (lcn != SPARSE_LCN && lcn != r->lcn + (vcn - r->vcn))) {
436 tail_lcn = r->lcn == SPARSE_LCN ?
438 (r->lcn + Tovcn);
450 /* lcn should match one were going to add. */
451 r->lcn = lcn;
506 } else if (r->lcn == SPARSE_LCN) {
537 if (r->lcn != SPARSE_LCN)
538 r->lcn += d;
578 CLST lcn2 = r->lcn == SPARSE_LCN ? SPARSE_LCN : (r->lcn + len1);
596 CLST *lcn, CLST *len)
610 if (lcn)
611 *lcn = r->lcn;
820 CLST next_vcn, vcn, lcn;
851 lcn = r->lcn == SPARSE_LCN ? SPARSE_LCN : (r->lcn + len);
863 if (lcn == SPARSE_LCN) {
867 /* NOTE: lcn can be less than prev_lcn! */
868 dlcn = (s64)lcn - prev_lcn;
870 prev_lcn = lcn;
903 lcn = r->lcn;
924 u64 prev_lcn, vcn64, lcn, next_vcn;
973 lcn = SPARSE_LCN64;
985 lcn = prev_lcn + dlcn;
986 prev_lcn = lcn;
998 if (next_vcn > 0x100000000ull || (lcn + len) > 0x100000000ull) {
1002 "Volume contains 64 bits run: vcn %llx, lcn %llx, len %llx.\n"
1004 vcn64, lcn, len);
1008 if (lcn != SPARSE_LCN64 && lcn + len > sbi->used.bitmap.nbits) {
1020 if (lcn != SPARSE_LCN64)
1021 mark_as_free_ex(sbi, lcn, len, true);
1023 if (!run_add_entry(run, vcn64, lcn, len, is_mft))
1028 if (!run_add_entry(run, vcn, lcn + dlen, len - dlen,
1057 CLST next_vcn, lcn, len;
1075 for (ok = run_lookup_entry(run, vcn, &lcn, &len, &index);
1077 ok = run_get_entry(run, ++index, &vcn, &lcn, &len)) {
1083 if (lcn == SPARSE_LCN)
1090 zone = max(wnd->zone_bit, lcn) < min(wnd->zone_end, lcn + len);
1092 ok = !zone && wnd_is_used(wnd, lcn, len);
1105 * Range [lcn, lcn + len) intersects with zone.
1111 /* Mark all zero bits as used in range [lcn, lcn+len). */
1112 err = wnd_set_used_safe(wnd, lcn, len, &done);