Lines Matching refs:lcn
758 static void copy_cluster(int rescue, u64 rescue_lcn, u64 lcn)
782 backup_bootsector = (lcn + 1)*csize >= full_device_size;
784 csize = full_device_size - lcn*csize;
813 && (!lcn || backup_bootsector)) {
820 if (!lcn) {
838 if (!lcn)
879 static void lseek_to_cluster(s64 lcn)
883 pos = (off_t)(lcn * vol->cluster_size);
1356 s64 offset = 0, lcn, vcn;
1361 lcn = ntfs_rl_vcn_to_lcn(rl, vcn);
1362 if (lcn < 0)
1365 lseek_to_cluster(lcn);
1367 if ((lcn + 1) != image->current_lcn) {
1370 gap_to_cluster(lcn - image->current_lcn);
1372 copy_cluster(opt.rescue, lcn, lcn);
1374 image->current_lcn = lcn + 1;
1480 target_lcn = rl[wi].lcn + wj;
1516 u32 k; /* lcn within run */
1547 lseek_to_cluster(rl[ri].lcn);
1551 rl[ri].lcn + rj);
1555 lseek_to_cluster(rl[ri].lcn);
1598 u32 k; /* lcn within run */
1628 lseek_to_cluster(rl[ri].lcn);
1632 rl[ri].lcn + rj);
1636 lseek_to_cluster(rl[ri].lcn);
1672 lseek_to_cluster(rl->lcn);
1675 gap_to_cluster(rl->lcn - image->current_lcn);
1678 copy_cluster(opt.rescue, rl->lcn + i, rl->lcn + i);
1680 image->current_lcn = rl->lcn + len;
1723 s64 lcn = rl[i].lcn;
1726 if (lcn == LCN_HOLE || lcn == LCN_RL_NOT_MAPPED)
1730 if (lcn < 0 || lcn_length < 0)
1735 (long long)lcn, (long long)lcn_length);
1741 u64 k = (u64)lcn + j;
2091 /* Determine lcn bitmap byte size and allocate it. */
2532 s64 lcn = rl->lcn;
2534 if (lcn == LCN_HOLE || lcn < 0)
2537 for (; lcn < rl->lcn + rl->length; lcn++, nr_bad_clusters++) {
2538 if (ntfs_bit_get_and_set(lcn_bitmap.bm, lcn, 0))