• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/fs/ntfs/

Lines Matching defs:srl

500  * @srl:	new runlist to be merged into @drl
502 * First we sanity check the two runlists @srl and @drl to make sure that they
503 * are sensible and can be merged. The runlist @srl must be either after the
506 * It is up to the caller to serialize access to the runlists @drl and @srl.
512 * There are four possible ways @srl can be merged. It can:
521 * runlists @drl and @srl are deallocated before returning so you cannot use
532 runlist_element *srl)
536 int dins; /* Index into @drl at which to insert @srl. */
547 ntfs_debug_dump_runlist(srl);
551 if (unlikely(!srl))
553 if (IS_ERR(srl) || IS_ERR(drl))
558 drl = srl;
580 while (srl[si].length && srl[si].lcn < LCN_HOLE)
584 BUG_ON(!srl[si].length);
590 * Skip forward in @drl until we reach the position where @srl needs to
591 * be inserted. If we reach the end of @drl, @srl just needs to be
595 if (drl[di].vcn + drl[di].length > srl[sstart].vcn)
601 if ((drl[di].vcn == srl[si].vcn) && (drl[di].lcn >= 0) &&
602 (srl[si].lcn >= 0)) {
608 for (send = si; srl[send].length; send++)
613 if (srl[send].lcn == LCN_ENOENT)
614 marker_vcn = srl[marker = send].vcn;
617 for (sfinal = send; sfinal >= 0 && srl[sfinal].lcn < LCN_HOLE; sfinal--)
625 int ds = dend + 1; /* Number of elements in drl & srl */
629 (drl[dins].vcn == srl[sstart].vcn)); /* Start of hole */
632 (srl[send - 1].vcn + srl[send - 1].length)));
637 if (marker && (drl[dins].vcn + drl[dins].length > srl[send - 1].vcn))
641 drl = ntfs_rl_replace(drl, ds, srl + sstart, ss, dins);
643 drl = ntfs_rl_insert(drl, ds, srl + sstart, ss, dins);
646 drl = ntfs_rl_append(drl, ds, srl + sstart, ss, dins);
648 drl = ntfs_rl_split(drl, ds, srl + sstart, ss, dins);
654 ntfs_free(srl);
659 /* We only need to care if @srl ended after @drl. */