Lines Matching defs:vcn

137 	if ((dst->vcn + dst->length) != src->vcn)
223 dst[loc].length = dst[loc + 1].vcn - dst[loc].vcn;
227 dst[marker].vcn = dst[marker-1].vcn + dst[marker-1].length;
270 disc = (src[0].vcn > 0);
280 disc = (src[0].vcn > dst[loc - 1].vcn + merged_length);
310 dst[marker].vcn = dst[marker - 1].vcn + dst[marker - 1].length;
313 dst[marker].length = dst[marker + 1].vcn - dst[marker].vcn;
318 dst[loc].vcn = dst[loc - 1].vcn + dst[loc - 1].length;
319 dst[loc].length = dst[loc + 1].vcn - dst[loc].vcn;
321 dst[loc].vcn = 0;
322 dst[loc].length = dst[loc + 1].vcn;
410 dst[marker].vcn = dst[marker - 1].vcn + dst[marker - 1].length;
458 dst[loc].length = dst[loc+1].vcn - dst[loc].vcn;
459 dst[loc+ssize+1].vcn = dst[loc+ssize].vcn + dst[loc+ssize].length;
460 dst[loc+ssize+1].length = dst[loc+ssize+2].vcn - dst[loc+ssize+1].vcn;
523 if (drl[0].vcn) {
533 drl[0].vcn = 0;
535 drl[0].length = drl[1].vcn;
563 if (drl[di].vcn + drl[di].length > srl[sstart].vcn)
569 if ((drl[di].vcn == srl[si].vcn) && (drl[di].lcn >= 0) &&
583 marker_vcn = srl[marker = send].vcn;
598 (drl[dins].vcn == srl[sstart].vcn)); /* Start of hole */
600 ((drl[dins].vcn + drl[dins].length) <= /* End of hole */
601 (srl[send - 1].vcn + srl[send - 1].length)));
606 if (marker && (drl[dins].vcn + drl[dins].length > srl[send - 1].vcn))
635 if (drl[ds].vcn <= marker_vcn) {
638 if (drl[ds].vcn == marker_vcn) {
666 /* Need to set vcn if it isn't set already. */
668 drl[ds].vcn = drl[ds - 1].vcn +
674 drl[ds].length = marker_vcn - drl[ds].vcn;
685 drl[ds].vcn = marker_vcn;
736 VCN vcn; /* Current vcn. */
755 /* Start at vcn = lowest_vcn and lcn 0. */
756 vcn = sle64_to_cpu(attr->u.nonres.lowest_vcn);
774 if (vcn) {
775 rl->vcn = (VCN)0;
777 rl->length = vcn;
798 /* Enter the current vcn into the current runlist element. */
799 rl[rlpos].vcn = vcn;
801 * Get the change in vcn, i.e. the run length in clusters.
831 /* Increment the current vcn by the current run length. */
832 vcn += deltaxcn;
883 * vcn in the runlist - 1, or something has gone badly wrong.
886 if (deltaxcn && vcn - 1 != deltaxcn) {
915 rl[rlpos].vcn = vcn;
916 vcn += rl[rlpos].length = max_cluster - deltaxcn;
932 rl[rlpos].vcn = vcn;
958 * ntfs_rl_vcn_to_lcn - convert a vcn into a lcn given a runlist
960 * @vcn: vcn to convert
962 * Convert the virtual cluster number @vcn of an attribute into a logical
973 * -3 = LCN_ENOENT There is no such vcn in the attribute.
976 LCN ntfs_rl_vcn_to_lcn(const runlist_element *rl, const VCN vcn)
980 if (vcn < (VCN)0)
990 /* Catch out of lower bounds vcn. */
991 if (vcn < rl[0].vcn)
995 if (vcn < rl[i+1].vcn) {
997 return rl[i].lcn + (vcn - rl[i].vcn);
1288 * @start_vcn: vcn at which to start the mapping pairs array
1291 * array corresponding to the runlist @rl, starting at vcn @start_vcn. This
1326 while (rl->length && start_vcn >= rl[1].vcn)
1328 if ((!rl->length && start_vcn > rl->vcn) || start_vcn < rl->vcn) {
1336 if (start_vcn > rl->vcn) {
1342 delta = start_vcn - rl->vcn;
1448 * @start_vcn: vcn at which to start the mapping pairs array
1449 * @stop_vcn: first vcn outside destination buffer on success or ENOSPC error
1451 * Create the mapping pairs array from the runlist @rl, starting at vcn
1459 * the first vcn outside the destination buffer. Note that on error @dst has
1497 while (rl->length && start_vcn >= rl[1].vcn)
1499 if ((!rl->length && start_vcn > rl->vcn) || start_vcn < rl->vcn)
1508 if (start_vcn > rl->vcn) {
1514 delta = start_vcn - rl->vcn;
1585 /* Set stop vcn. */
1587 *stop_vcn = rl->vcn;
1592 /* Set stop vcn. */
1594 *stop_vcn = rl->vcn;
1611 * ntfs_rl_truncate - truncate a runlist starting at a specified vcn
1613 * @start_vcn: first vcn which should be cut off
1615 * Truncate the runlist *@arl starting at vcn @start_vcn as well as the memory
1635 if (start_vcn < rl->vcn) {
1641 /* Find the starting vcn in the run list. */
1643 if (start_vcn < rl[1].vcn)
1655 rl->length = start_vcn - rl->vcn;
1664 rl->vcn = start_vcn;
1743 (R)->vcn = V; \
1789 rl->vcn, lcn_str[ind], rl->length);
1792 rl->vcn, rl->lcn, rl->length);
1860 * @vcn:
1867 static runlist_element * test_rl_pure_src(BOOL contig, BOOL multi, int vcn, int len)
1882 MKRL(result+0, vcn + (0*len/4), fudge + vcn + 1000 + (0*len/4), len / 4)
1883 MKRL(result+1, vcn + (1*len/4), fudge + vcn + 1000 + (1*len/4), len / 4)
1884 MKRL(result+2, vcn + (2*len/4), fudge + vcn + 1000 + (2*len/4), len / 4)
1885 MKRL(result+3, vcn + (3*len/4), fudge + vcn + 1000 + (3*len/4), len / 4)
1886 MKRL(result+4, vcn + (4*len/4), LCN_RL_NOT_MAPPED, 0)
1888 MKRL(result+0, vcn, fudge + vcn + 1000, len)
1889 MKRL(result+1, vcn + len, LCN_RL_NOT_MAPPED, 0)
1899 * @vcn:
1908 static void test_rl_pure_test(int test, BOOL contig, BOOL multi, int vcn, int len, runlist_element *file, int size)
1914 src = test_rl_pure_src(contig, multi, vcn, len);