Lines Matching refs:vcn

61 			  struct runs_tree *run, const CLST *vcn)  in attr_load_runs()  argument
72 if (vcn && (evcn < *vcn || *vcn < svcn)) in attr_load_runs()
82 vcn ? *vcn : svcn, Add2Ptr(attr, run_off), in attr_load_runs()
94 CLST vcn, CLST len, CLST *done, bool trim) in run_deallocate_ex() argument
97 CLST vcn_next, vcn0 = vcn, lcn, clen, dn = 0; in run_deallocate_ex()
103 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) { in run_deallocate_ex()
131 vcn_next = vcn + clen; in run_deallocate_ex()
132 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) || in run_deallocate_ex()
133 vcn != vcn_next) { in run_deallocate_ex()
150 CLST vcn, CLST lcn, CLST len, CLST *pre_alloc, in attr_allocate_clusters() argument
155 CLST flen, vcn0 = vcn, pre = pre_alloc ? *pre_alloc : 0; in attr_allocate_clusters()
172 if (vcn == vcn0) { in attr_allocate_clusters()
181 if (!run_add_entry(run, vcn, lcn, flen, opt & ALLOCATE_MFT)) { in attr_allocate_clusters()
199 vcn += flen; in attr_allocate_clusters()
203 *alen = vcn - vcn0; in attr_allocate_clusters()
212 if (vcn - vcn0) { in attr_allocate_clusters()
213 run_deallocate_ex(sbi, run, vcn0, vcn - vcn0, NULL, false); in attr_allocate_clusters()
414 CLST alen, vcn, lcn, new_alen, old_alen, svcn, evcn; in attr_set_size() local
468 vcn = old_alen - 1; in attr_set_size()
473 if (svcn <= vcn && vcn <= evcn) { in attr_set_size()
482 attr = ni_find_attr(ni, attr_b, &le, type, name, name_len, &vcn, in attr_set_size()
543 !run_lookup_entry(run, vcn, &lcn, NULL, NULL)) { in attr_set_size()
562 vcn = old_alen; in attr_set_size()
565 if (!run_add_entry(run, vcn, SPARSE_LCN, to_allocate, in attr_set_size()
574 sbi, run, vcn, lcn, to_allocate, &pre_alloc, in attr_set_size()
587 vcn += alen; in attr_set_size()
594 err = mi_pack_runs(mi, attr, run, vcn - svcn); in attr_set_size()
603 if (next_svcn >= vcn && !to_allocate) { in attr_set_size()
610 if (is_mft && next_svcn == vcn && in attr_set_size()
631 if (next_svcn < vcn) in attr_set_size()
646 if (next_svcn >= vcn) { in attr_set_size()
653 next_svcn, vcn - next_svcn, in attr_set_size()
684 old_valid = old_size = old_alloc = (u64)vcn << cluster_bits; in attr_set_size()
702 vcn = max(svcn, new_alen); in attr_set_size()
703 new_alloc_tmp = (u64)vcn << cluster_bits; in attr_set_size()
705 if (vcn > svcn) { in attr_set_size()
706 err = mi_pack_runs(mi, attr, run, vcn - svcn); in attr_set_size()
709 } else if (le && le->vcn) { in attr_set_size()
728 attr->nres.evcn = cpu_to_le64((u64)vcn - 1); in attr_set_size()
734 if (vcn == new_alen) { in attr_set_size()
751 err = run_deallocate_ex(sbi, run, vcn, evcn - vcn + 1, &dlen, in attr_set_size()
762 run_truncate(run, vcn); in attr_set_size()
768 vcn = svcn - 1; in attr_set_size()
831 vcn -= alen; in attr_set_size()
861 run_deallocate_ex(sbi, run, vcn, alen, NULL, false); in attr_set_size()
863 run_truncate(run, vcn); in attr_set_size()
883 int attr_data_get_block(struct ntfs_inode *ni, CLST vcn, CLST clen, CLST *lcn, in attr_data_get_block() argument
904 if (!run_lookup_entry(run, vcn, lcn, len, NULL)) in attr_data_get_block()
936 if (vcn >= asize) { in attr_data_get_block()
953 if (le_b && (vcn < svcn || evcn1 <= vcn)) { in attr_data_get_block()
954 attr = ni_find_attr(ni, attr_b, &le, ATTR_DATA, NULL, 0, &vcn, in attr_data_get_block()
970 if (run_lookup_entry(run, vcn, lcn, len, NULL)) { in attr_data_get_block()
989 vcn0 = vcn; in attr_data_get_block()
1000 vcn = vcn0 & cmask; in attr_data_get_block()
1001 to_alloc = ((vcn0 + clen + clst_per_frame - 1) & cmask) - vcn; in attr_data_get_block()
1007 if (vcn < svcn || evcn1 <= vcn) { in attr_data_get_block()
1010 &vcn, &mi); in attr_data_get_block()
1023 if (vcn + to_alloc > asize) in attr_data_get_block()
1024 to_alloc = asize - vcn; in attr_data_get_block()
1029 if (vcn > evcn1) { in attr_data_get_block()
1030 if (!run_add_entry(run, evcn1, SPARSE_LCN, vcn - evcn1, in attr_data_get_block()
1035 } else if (vcn && !run_lookup_entry(run, vcn - 1, &hint, NULL, NULL)) { in attr_data_get_block()
1040 err = attr_allocate_clusters(sbi, run, vcn, hint + 1, to_alloc, NULL, in attr_data_get_block()
1048 end = vcn + alen; in attr_data_get_block()
1053 if (vcn != vcn0) { in attr_data_get_block()
1182 le->vcn = cpu_to_le64(next_svcn); in attr_data_get_block()
1196 run_truncate_around(run, vcn); in attr_data_get_block()
1212 if (run_deallocate_ex(sbi, run, vcn, alen, NULL, false) || in attr_data_get_block()
1213 !run_add_entry(run, vcn, SPARSE_LCN, alen, false) || in attr_data_get_block()
1295 CLST vcn) in attr_load_runs_vcn() argument
1307 attr = ni_find_attr(ni, NULL, NULL, type, name, name_len, &vcn, NULL); in attr_load_runs_vcn()
1316 if (evcn < vcn || vcn < svcn) { in attr_load_runs_vcn()
1342 CLST vcn; in attr_load_runs_range() local
1347 for (vcn = from >> cluster_bits; vcn <= vcn_last; vcn += clen) { in attr_load_runs_range()
1348 if (!run_lookup_entry(run, vcn, &lcn, &clen, NULL)) { in attr_load_runs_range()
1350 vcn); in attr_load_runs_range()
1516 CLST clen, lcn, vcn, alen, slen, vcn_next; in attr_is_frame_compressed() local
1529 vcn = frame * clst_frame; in attr_is_frame_compressed()
1532 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) { in attr_is_frame_compressed()
1534 attr->name_len, run, vcn); in attr_is_frame_compressed()
1538 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) in attr_is_frame_compressed()
1564 while ((vcn += clen) < alen) { in attr_is_frame_compressed()
1565 vcn_next = vcn; in attr_is_frame_compressed()
1567 if (!run_get_entry(run, ++idx, &vcn, &lcn, &clen) || in attr_is_frame_compressed()
1568 vcn_next != vcn) { in attr_is_frame_compressed()
1574 vcn = vcn_next; in attr_is_frame_compressed()
1576 if (!run_lookup_entry(run, vcn, &lcn, &clen, &idx)) in attr_is_frame_compressed()
1625 CLST vcn, end, clst_data; in attr_allocate_frame() local
1636 vcn = frame << NTFS_LZNT_CUNIT; in attr_allocate_frame()
1643 if (svcn <= vcn && vcn < evcn1) { in attr_allocate_frame()
1652 attr = ni_find_attr(ni, attr_b, &le, ATTR_DATA, NULL, 0, &vcn, in attr_allocate_frame()
1678 err = run_deallocate_ex(sbi, run, vcn + len, clst_data - len, in attr_allocate_frame()
1683 if (!run_add_entry(run, vcn + len, SPARSE_LCN, clst_data - len, in attr_allocate_frame()
1688 end = vcn + clst_data; in attr_allocate_frame()
1693 if (vcn + clst_data && in attr_allocate_frame()
1694 !run_lookup_entry(run, vcn + clst_data - 1, &hint, NULL, in attr_allocate_frame()
1699 err = attr_allocate_clusters(sbi, run, vcn + clst_data, in attr_allocate_frame()
1706 end = vcn + len; in attr_allocate_frame()
1807 le->vcn = cpu_to_le64(next_svcn); in attr_allocate_frame()
1822 run_truncate_around(run, vcn); in attr_allocate_frame()
1848 CLST vcn, end; in attr_collapse_range() local
1906 vcn = vbo >> sbi->cluster_bits; in attr_collapse_range()
1908 end = vcn + len; in attr_collapse_range()
1914 if (svcn <= vcn && vcn < evcn1) { in attr_collapse_range()
1923 attr = ni_find_attr(ni, attr_b, &le, ATTR_DATA, NULL, 0, &vcn, in attr_collapse_range()
1940 le->vcn = attr->nres.svcn; in attr_collapse_range()
1944 } else if (svcn < vcn || end < evcn1) { in attr_collapse_range()
1951 vcn1 = max(vcn, svcn); in attr_collapse_range()
1964 if (svcn >= vcn) { in attr_collapse_range()
1966 attr->nres.svcn = cpu_to_le64(vcn); in attr_collapse_range()
1968 le->vcn = attr->nres.svcn; in attr_collapse_range()
2105 CLST svcn, evcn1, vcn, len, end, alen, hole, next_svcn; in attr_punch_hole() local
2168 vcn = vbo >> sbi->cluster_bits; in attr_punch_hole()
2170 end = vcn + len; in attr_punch_hole()
2177 if (svcn <= vcn && vcn < evcn1) { in attr_punch_hole()
2186 attr = ni_find_attr(ni, attr_b, &le, ATTR_DATA, NULL, 0, &vcn, in attr_punch_hole()
2203 vcn1 = max(vcn, svcn); in attr_punch_hole()
2323 CLST vcn, svcn, evcn1, len, next_svcn; in attr_insert_range() local
2368 vcn = vbo >> sbi->cluster_bits; in attr_insert_range()
2410 if (svcn <= vcn && vcn < evcn1) { in attr_insert_range()
2419 attr = ni_find_attr(ni, attr_b, &le, ATTR_DATA, NULL, 0, &vcn, in attr_insert_range()
2435 if (!run_insert_range(run, vcn, len)) { in attr_insert_range()
2452 le->vcn = attr->nres.svcn; in attr_insert_range()
2513 if (svcn <= vcn && vcn < evcn1) { in attr_insert_range()
2521 attr = ni_find_attr(ni, attr_b, &le, ATTR_DATA, NULL, 0, &vcn, in attr_insert_range()
2534 if (!run_collapse_range(run, vcn, len)) in attr_insert_range()
2545 le->vcn = attr->nres.svcn; in attr_insert_range()