Lines Matching defs:rl
25 * @rl: runlist describing the clusters to free
27 * Free all the clusters described by the runlist @rl on the volume @vol. In
37 const runlist_element *rl)
43 if (!rl)
45 for (; rl->length; rl++) {
48 if (rl->lcn < 0)
50 err = ntfs_bitmap_clear_run(lcnbmp_vi, rl->lcn, rl->length);
142 runlist_element *rl = NULL;
320 if ((rlpos + 2) * sizeof(*rl) > rlsize) {
324 if (!rl)
336 memcpy(rl2, rl, rlsize);
337 ntfs_free(rl);
338 rl = rl2;
367 rl[rlpos - 1].lcn,
369 rl[rlpos - 1].length);
370 rl[rlpos - 1].length = ++prev_run_len;
374 rl[rlpos - 1].lcn,
376 rl[rlpos - 1].length,
385 rl[rlpos - 1].lcn,
387 rl[rlpos - 1].length);
388 rl[rlpos].vcn = rl[rlpos - 1].vcn +
393 rl[rlpos].vcn = start_vcn;
395 rl[rlpos].lcn = prev_lcn = lcn + bmp_pos;
396 rl[rlpos].length = prev_run_len = 1;
551 tc = rl[rlpos - 1].lcn +
552 rl[rlpos - 1].length;
594 tc = rl[rlpos - 1].lcn +
595 rl[rlpos - 1].length;
635 tc = rl[rlpos - 1].lcn +
636 rl[rlpos - 1].length;
725 if (likely(rl)) {
726 rl[rlpos].vcn = rl[rlpos - 1].vcn + rl[rlpos - 1].length;
727 rl[rlpos].lcn = is_extension ? LCN_ENOENT : LCN_RL_NOT_MAPPED;
728 rl[rlpos].length = 0;
742 return rl;
746 if (rl) {
754 (unsigned long long)rl[0].lcn,
758 err2 = ntfs_cluster_free_from_rl_nolock(vol, rl);
766 ntfs_free(rl);
841 runlist_element *rl;
866 rl = ntfs_attr_find_vcn_nolock(ni, start_vcn, ctx);
867 if (IS_ERR(rl)) {
871 PTR_ERR(rl));
872 err = PTR_ERR(rl);
875 if (unlikely(rl->lcn < LCN_HOLE)) {
883 delta = start_vcn - rl->vcn;
886 to_free = rl->length - delta;
890 if (likely(rl->lcn >= 0)) {
892 err = ntfs_bitmap_set_bits_in_run(lcnbmp_vi, rl->lcn + delta,
904 ++rl;
914 for (; rl->length && count != 0; ++rl) {
915 if (unlikely(rl->lcn < LCN_HOLE)) {
919 vcn = rl->vcn;
920 rl = ntfs_attr_find_vcn_nolock(ni, vcn, ctx);
921 if (IS_ERR(rl)) {
922 err = PTR_ERR(rl);
931 if (unlikely(rl->lcn < LCN_HOLE)) {
937 rl->lcn);
943 to_free = rl->length;
947 if (likely(rl->lcn >= 0)) {
949 err = ntfs_bitmap_set_bits_in_run(lcnbmp_vi, rl->lcn,