Lines Matching defs:rle

1241 static void set_max_free_zone(s64 length, s64 end, runlist_element *rle)
1243 if (length > rle->length) {
1244 rle->lcn = end - length;
1245 rle->length = length;
1250 runlist_element *rle,
1256 s64 i, items = rle->length;
1263 rle->lcn = rle->length = 0;
1271 set_max_free_zone(free_zone, i + 1, rle);
1275 set_max_free_zone(free_zone, i, rle);
1279 set_max_free_zone(free_zone, i, rle);
1282 if (rle->length == max_free_cluster_range)
1287 set_max_free_zone(free_zone, i, rle);
1289 if (!rle->lcn) {
1293 if (rle->length < items && rle->length < max_free_cluster_range) {
1294 max_free_cluster_range = rle->length;
1298 pos = rle->lcn + items;
1302 set_bitmap_range(bm, rle->lcn, rle->length, 1);
1311 runlist_element rle;
1325 rle.length = items;
1326 if (find_free_cluster(bm, &rle, nr_vol_clusters, hint) == -1)
1333 rl_set(rl + runs, vcn, rle.lcn, rle.length);
1335 vcn += rle.length;
1336 items -= rle.length;
1466 runlist *rl_new, *rle_new, *rle;
1480 rle = *rl + run;
1483 memmove(rle_new + 2, rle + 1, size_tail);
1485 len_tail = rle->length - (pos - rle->lcn);
1486 len_head = rle->length - len_tail;
1488 rl_set(rle_new, rle->vcn, rle->lcn, len_head);
1489 rl_set(rle_new + 1, rle->vcn + len_head, rle->lcn + len_head, len_tail);
1492 dump_run(rle); dump_run(rle_new); dump_run(rle_new + 1);
1502 runlist *rle;
1513 rle = *rl + run;
1515 memmove(rle + ins_items, rle + 1, size_tail);
1517 for (vcn = rle->vcn; ins->length; rle++, vcn += ins->length, ins++) {
1518 rl_set(rle, vcn, ins->lcn, ins->length);
1519 // dump_run(rle);