Lines Matching defs:srl

507 					      runlist_element *srl)
511 int dins; /* Index into @drl at which to insert @srl. */
521 ntfs_debug_runlist_dump(srl);
524 if (!srl)
529 drl = srl;
551 while (srl[si].length && srl[si].lcn < (LCN)LCN_HOLE)
555 if (!srl[si].length) {
565 * Skip forward in @drl until we reach the position where @srl needs to
566 * be inserted. If we reach the end of @drl, @srl just needs to be
570 if (drl[di].vcn + drl[di].length > srl[sstart].vcn)
576 if ((drl[di].vcn == srl[si].vcn) && (drl[di].lcn >= 0) &&
577 (srl[si].lcn >= 0)) {
584 for (send = si; srl[send].length; send++)
589 if (srl[send].lcn == (LCN)LCN_ENOENT)
590 marker_vcn = srl[marker = send].vcn;
593 for (sfinal = send; sfinal >= 0 && srl[sfinal].lcn < LCN_HOLE; sfinal--)
601 int ds = dend + 1; /* Number of elements in drl & srl */
605 (drl[dins].vcn == srl[sstart].vcn)); /* Start of hole */
608 (srl[send - 1].vcn + srl[send - 1].length)));
613 if (marker && (drl[dins].vcn + drl[dins].length > srl[send - 1].vcn))
623 drl = ntfs_rl_replace(drl, ds, srl + sstart, ss, dins);
625 drl = ntfs_rl_insert(drl, ds, srl + sstart, ss, dins);
628 drl = ntfs_rl_append(drl, ds, srl + sstart, ss, dins);
630 drl = ntfs_rl_split(drl, ds, srl + sstart, ss, dins);
636 free(srl);
641 /* We only need to care if @srl ended after @drl. */
716 * @srl: new runlist to be merged into @drl
718 * First we sanity check the two runlists @srl and @drl to make sure that they
719 * are sensible and can be merged. The runlist @srl must be either after the
726 * There are four possible ways @srl can be merged. It can:
735 * runlists @drl and @srl are deallocated before returning so you cannot use
746 runlist_element *srl)
751 rl = ntfs_runlists_merge_i(drl, srl);
1837 * @srl:
1843 static runlist_element * test_rl_runlists_merge(runlist_element *drl, runlist_element *srl)
1850 test_rl_dump_runlist(srl);
1852 res = ntfs_runlists_merge(drl, srl);