Lines Matching defs:loc

207  * @loc:	append the new runlist @src after this element in @dst
209 * Append the runlist @src after element @loc in @dst. Merge the right end of
222 runlist_element *src, int ssize, int loc)
235 if ((loc + 1) < dsize)
236 right = ntfs_rl_are_mergeable(src + ssize - 1, dst + loc + 1);
249 __ntfs_rl_merge(src + ssize - 1, dst + loc + 1);
252 marker = loc + ssize + 1;
255 ntfs_rl_mm(dst, marker, loc + 1 + right, dsize - loc - 1 - right);
256 ntfs_rl_mc(dst, loc + 1, src, 0, ssize);
259 dst[loc].length = dst[loc + 1].vcn - dst[loc].vcn;
274 * @loc: insert the new runlist @src before this element in @dst
276 * Insert the runlist @src before element @loc in the runlist @dst. Merge the
289 runlist_element *src, int ssize, int loc)
305 if (loc == 0)
310 left = ntfs_rl_are_mergeable(dst + loc - 1, src);
312 merged_length = dst[loc - 1].length;
316 disc = (src[0].vcn > dst[loc - 1].vcn + merged_length);
331 __ntfs_rl_merge(dst + loc - 1, src);
335 * Nominally: marker = @loc + @ssize (location + number of runs in @src)
339 marker = loc + ssize - left + disc;
342 ntfs_rl_mm(dst, marker, loc, dsize - loc);
343 ntfs_rl_mc(dst, loc + disc, src, left, ssize - left);
353 if (loc > 0) {
354 dst[loc].vcn = dst[loc - 1].vcn + dst[loc - 1].length;
355 dst[loc].length = dst[loc + 1].vcn - dst[loc].vcn;
357 dst[loc].vcn = 0;
358 dst[loc].length = dst[loc + 1].vcn;
360 dst[loc].lcn = LCN_RL_NOT_MAPPED;
371 * @loc: index in runlist @dst to overwrite with @src
373 * Replace the runlist element @dst at @loc with @src. Merge the left and
386 int loc)
402 if ((loc + 1) < dsize)
403 right = ntfs_rl_are_mergeable(src + ssize - 1, dst + loc + 1);
404 if (loc > 0)
405 left = ntfs_rl_are_mergeable(dst + loc - 1, src);
423 __ntfs_rl_merge(src + ssize - 1, dst + loc + 1);
425 __ntfs_rl_merge(dst + loc - 1, src);
429 * Nominally: @tail = @loc + 1 (location, skipping the replaced run)
432 tail = loc + right + 1;
436 * Nominally: @marker = @loc + @ssize (location + number of runs in @src)
439 marker = loc + ssize - left;
443 ntfs_rl_mc(dst, loc, src, left, ssize - left);
458 * @loc: index in runlist @dst at which to split and insert @src
460 * Split the runlist @dst at @loc into two and insert @new in between the two
473 runlist_element *src, int ssize, int loc)
491 ntfs_rl_mm(dst, loc + 1 + ssize, loc, dsize - loc);
492 ntfs_rl_mc(dst, loc + 1, src, 0, ssize);
495 dst[loc].length = dst[loc+1].vcn - dst[loc].vcn;
496 dst[loc+ssize+1].vcn = dst[loc+ssize].vcn + dst[loc+ssize].length;
497 dst[loc+ssize+1].length = dst[loc+ssize+2].vcn - dst[loc+ssize+1].vcn;