Home | History | Annotate | Download | only in newfs_udf

Lines Matching refs:layout

74 struct udf_disclayout     layout;
248 printf("\tiso9660_vrs\t\t%d\n", layout.iso9660_vrs);
249 printf("\tanchor0\t\t\t%d\n", layout.anchors[0]);
250 printf("\tanchor1\t\t\t%d\n", layout.anchors[1]);
251 printf("\tanchor2\t\t\t%d\n", layout.anchors[2]);
252 printf("\tvds1_size\t\t%d\n", layout.vds1_size);
253 printf("\tvds2_size\t\t%d\n", layout.vds2_size);
254 printf("\tvds1\t\t\t%d\n", layout.vds1);
255 printf("\tvds2\t\t\t%d\n", layout.vds2);
256 printf("\tlvis_size\t\t%d\n", layout.lvis_size);
257 printf("\tlvis\t\t\t%d\n", layout.lvis);
259 printf("\tspareable size\t\t%d\n", layout.spareable_area_size);
260 printf("\tspareable\t\t%d\n", layout.spareable_area);
262 printf("\tpartition start lba\t%d\n", layout.part_start_lba);
264 ((uint64_t) layout.part_size_lba * sector_size) / 1024,
265 ((uint64_t) layout.part_size_lba * sector_size) / (1024*1024));
267 printf("\tpart bitmap start\t%d\n", layout.unalloc_space);
268 printf("\t\tfor %d lba\n", layout.alloc_bitmap_dscr_size);
271 printf("\tmeta blockingnr\t\t%d\n", layout.meta_blockingnr);
272 printf("\tmeta alignment\t\t%d\n", layout.meta_alignment);
274 ((uint64_t) layout.meta_part_size_lba * sector_size) / 1024,
275 ((uint64_t) layout.meta_part_size_lba * sector_size) / (1024*1024));
276 printf("\tmeta file\t\t%d\n", layout.meta_file);
277 printf("\tmeta mirror\t\t%d\n", layout.meta_mirror);
278 printf("\tmeta bitmap\t\t%d\n", layout.meta_bitmap);
279 printf("\tmeta bitmap start\t%d\n", layout.meta_bitmap_space);
280 printf("\t\tfor %d lba\n", layout.meta_bitmap_dscr_size);
281 printf("\tmeta space start\t%d\n", layout.meta_part_start_lba);
282 printf("\t\tfor %d lba\n", layout.meta_part_size_lba);
301 memset(&layout, 0, sizeof(layout));
304 layout.wrtrack_skew = wrtrack_skew;
305 layout.first_lba = first_lba;
306 layout.last_lba = last_lba;
307 layout.blockingnr = blockingnr;
308 layout.spareable_blocks = udf_spareable_blocks();
316 layout.iso9660_vrs = ((32*1024 + sector_size - 1) / sector_size)
320 layout.anchors[0] = first_lba + 256;
322 layout.anchors[0] = first_lba + 512;
323 layout.anchors[1] = last_lba - 256;
324 layout.anchors[2] = last_lba;
327 first_lba = layout.anchors[0] + blockingnr;
328 last_lba = layout.anchors[1] - 1;
333 layout.vds1_size = MAX(16, blockingnr); /* UDF 2.2.3.1+2 */
334 layout.vds1 = first_lba;
335 first_lba += layout.vds1_size; /* next packet */
337 layout.vds2_size = layout.vds1_size;
340 layout.vds2 = first_lba;
341 first_lba += layout.vds2_size;
343 layout.vds2 = layout.anchors[1] +1 - layout.vds2_size;
344 last_lba = layout.vds2 - 1;
351 layout.lvis_size = MAX(8192.0/sector_size, 2 * blockingnr);
352 if (layout.lvis_size * sector_size < 8192)
353 layout.lvis_size++;
355 layout.lvis_size = 2;
357 layout.lvis_size = 64 * blockingnr;
360 layout.lvis = first_lba;
361 first_lba += layout.lvis_size;
364 layout.part_start_lba = first_lba;
365 layout.part_size_lba = last_lba - layout.part_start_lba;
368 layout.alloc_bitmap_dscr_size = 0;
370 bytes = udf_space_bitmap_len(layout.part_size_lba);
371 layout.alloc_bitmap_dscr_size = udf_bytes_to_sectors(bytes);
382 layout.align_blockingnr = align_blockingnr;
383 layout.spareable_blockingnr = spareable_blockingnr;
404 layout.spareable_blocks = 0;
407 layout.spareable_area_size =
408 layout.spareable_blocks * spareable_blockingnr;
411 layout.sparing_table_dscr_lbas = spareable_blockingnr;
414 layout.spt_1 = first_lba;
415 first_lba += layout.sparing_table_dscr_lbas;
417 layout.spt_2 = last_lba - layout.sparing_table_dscr_lbas;
418 last_lba -= layout.sparing_table_dscr_lbas;
421 layout.spareable_area = first_lba;
422 first_lba += layout.spareable_area_size;
426 layout.part_start_lba = first_lba;
427 layout.part_size_lba = last_lba - layout.part_start_lba;
445 layout.unalloc_space = pos;
446 pos += layout.alloc_bitmap_dscr_size;
451 layout.meta_file = pos++;
452 layout.meta_bitmap = 0xffffffff;
454 layout.meta_bitmap = pos++;
455 layout.meta_mirror = layout.part_size_lba-1;
456 layout.meta_alignment = MAX(blockingnr, spareable_blockingnr);
457 layout.meta_blockingnr = MAX(layout.meta_alignment, 32);
460 layout.meta_part_size_lba = layout.part_size_lba *
462 layout.meta_part_size_lba = MAX(layout.meta_part_size_lba, 32);
463 layout.meta_part_size_lba =
464 UDF_ROUNDDOWN(layout.meta_part_size_lba, layout.meta_blockingnr);
468 bytes = udf_space_bitmap_len(layout.meta_part_size_lba);
469 layout.meta_bitmap_dscr_size = udf_bytes_to_sectors(bytes);
471 layout.meta_bitmap_space = pos;
472 pos += layout.meta_bitmap_dscr_size;
475 layout.meta_part_start_lba = UDF_ROUNDUP(pos, layout.meta_alignment);
476 pos = layout.meta_part_start_lba + layout.meta_part_size_lba;
481 layout.fsd = mpos; mpos += 1;
482 layout.rootdir = mpos;
486 layout.fsd = mpos; mpos += 1;
487 layout.rootdir = mpos;
500 kbsize = (uint64_t)(layout.part_size_lba - layout.alloc_bitmap_dscr_size
501 - layout.meta_bitmap_dscr_size) * sector_size;
636 uint32_t vds1_extent_len = layout.vds1_size * context.sector_size;
637 uint32_t vds2_extent_len = layout.vds2_size * context.sector_size;
644 udf_inittag(&avdp->tag, TAGID_ANCHOR, layout.anchors[num]);
646 avdp->main_vds_ex.loc = udf_rw32(layout.vds1);
649 avdp->reserve_vds_ex.loc = udf_rw32(layout.vds2);
1100 bitmap_bytes = layout.alloc_bitmap_dscr_size * sector_size;
1125 phd->unalloc_space_bitmap.lb_num = udf_rw32(layout.unalloc_space);
1127 if (layout.freed_space) {
1129 phd->freed_space_bitmap.lb_num = udf_rw32(layout.freed_space);
1133 pd->start_loc = udf_rw32(layout.part_start_lba);
1134 pd->part_len = udf_rw32(layout.part_size_lba);
1204 lvd->integrity_seq_loc.loc = udf_rw32(layout.lvis);
1205 lvd->integrity_seq_loc.len = udf_rw32(layout.lvis_size * sector_size);
1210 lvd->lv_fsd_loc.loc.lb_num = udf_rw32(layout.fsd);
1243 layout.part_size_lba;
1244 context.part_free[log_part] = layout.part_size_lba;
1306 spareable_bytes = layout.spareable_area_size * context.sector_size;
1318 pmap->pms.packet_len = udf_rw16(layout.spareable_blockingnr);
1323 *st_pos++ = udf_rw32(layout.spt_1);
1324 *st_pos++ = udf_rw32(layout.spt_2);
1327 if (layout.spt_2 == 0) num--;
1328 if (layout.spt_1 == 0) num--;
1333 context.part_size[log_part] = layout.part_size_lba;
1334 context.part_free[log_part] = layout.part_size_lba;
1353 spt = calloc(context.sector_size, layout.sparing_table_dscr_lbas);
1363 spt->rt_l = udf_rw16(layout.spareable_blocks);
1366 for (cnt = 0; cnt < layout.spareable_blocks; cnt++) {
1368 loc = layout.spareable_area + cnt * layout.spareable_blockingnr;
1375 crclen += (layout.spareable_blocks-1) * sizeof(struct spare_map_entry);
1410 pmap->pmm.meta_file_lbn = udf_rw32(layout.meta_file);
1411 pmap->pmm.meta_mirror_file_lbn = udf_rw32(layout.meta_mirror);
1412 pmap->pmm.meta_bitmap_file_lbn = udf_rw32(layout.meta_bitmap);
1413 pmap->pmm.alloc_unit_size = udf_rw32(layout.meta_blockingnr);
1414 pmap->pmm.alignment_unit_size = udf_rw16(layout.meta_alignment);
1419 context.part_size[log_part] = layout.meta_part_size_lba;
1420 context.part_free[log_part] = layout.meta_part_size_lba;
1619 fsd->rootdir_icb.loc.lb_num = udf_rw32(layout.rootdir);
1683 for (cnt = 0; cnt < layout.spareable_blocks; cnt++) {
1771 blockingnr = layout.blockingnr;
1773 block_bytes = layout.blockingnr * sector_size;
1783 loc = layout.first_lba;
1784 while (loc <= layout.last_lba) {
1789 (int)((100.0 * loc)/layout.last_lba));
1794 loc, layout.blockingnr);
1801 loc += layout.blockingnr;
1806 loc = layout.first_lba;
1807 while (loc <= layout.last_lba) {
1811 (int)((100.0 * loc)/layout.last_lba));
1816 loc, layout.blockingnr);
1823 loc += layout.blockingnr;
2660 max_len = (max_len / layout.meta_blockingnr) * layout.meta_blockingnr;
2693 meta_icb.loc.lb_num = udf_rw32(layout.meta_file);
2702 meta_icb.loc.lb_num = udf_rw32(layout.meta_mirror);
2712 meta_icb.loc.lb_num = udf_rw32(layout.meta_bitmap);
2728 layout.meta_part_start_lba,
2729 (uint64_t) layout.meta_part_size_lba * sector_size);
2733 layout.meta_part_start_lba,
2734 (uint64_t) layout.meta_part_size_lba * sector_size);
2738 bytes = udf_space_bitmap_len(layout.meta_part_size_lba);
2740 layout.meta_bitmap_space, bytes);
2759 root_icb.loc.lb_num = udf_rw32(layout.rootdir);
2895 assert((layout.rootdir < 2) && (layout.fsd < 2));
3042 layout.vat = context.alloc_pos[context.data_part];
3044 //printf("layout.vat %d\n", layout.vat + udf_rw32(context.partitions[context.data_part]->start_loc));
3069 rel_block = phys - (UDF_ROUNDDOWN(phys, layout.blockingnr) + wrtrack_skew);
3070 rest_block = layout.blockingnr - rel_block;
3644 uint64_t blockingnr = layout.blockingnr;
3723 uint64_t blockingnr = layout.blockingnr;
3782 int blockingnr = layout.blockingnr;
3939 lb_packet = lb_num / layout.spareable_blockingnr;
3940 lb_rel = lb_num % layout.spareable_blockingnr;
3947 *extres = layout.spareable_blockingnr - lb_rel;
3958 *extres = MIN(ext, layout.spareable_blockingnr - lb_rel);
4577 pos = layout.iso9660_vrs + cnt;
4587 pos = layout.iso9660_vrs;
4753 /* get layout */
4828 loc = (format_flags & FORMAT_TRACK512) ? layout.vds1 : ti.track_start;
4829 for (; loc < layout.part_start_lba; loc++) {
4844 loc = layout.anchors[cnt];
4857 loc = (sectcopy == 1) ? layout.vds1 : layout.vds2;
4908 loc = (sectcopy == 1) ? layout.spt_1 : layout.spt_2;
4927 layout.alloc_bitmap_dscr_size,
4928 layout.part_size_lba,
4935 udf_mark_allocated(layout.unalloc_space, data_part,
4936 layout.alloc_bitmap_dscr_size);
4949 udf_mark_allocated(layout.meta_file, data_part, 1);
4950 udf_mark_allocated(layout.meta_mirror, data_part, 1);
4951 udf_mark_allocated(layout.meta_part_start_lba, data_part,
4952 layout.meta_part_size_lba);
4957 layout.meta_bitmap_dscr_size,
4958 layout
4963 udf_mark_allocated(layout.meta_bitmap, data_part, 1);
4965 udf_mark_allocated(layout.meta_bitmap_space,
4967 layout.meta_bitmap_dscr_size);
4979 loc = layout.lvis;
5001 udf_mark_allocated(layout.fsd, metadata_part, 1);
5004 error = udf_write_dscr_virt(dscr, layout.fsd, metadata_part, 1);
5022 udf_mark_allocated(layout.rootdir, context.metadata_part, 1);
5025 layout.rootdir, context.metadata_part, 1);
5051 loc = layout.lvis+1;
5067 loc = layout.unalloc_space;
5069 len = layout.alloc_bitmap_dscr_size;
5076 loc = layout.meta_file;
5082 loc = layout.meta_mirror;
5089 loc = layout.meta_bitmap;
5096 loc = layout.meta_bitmap_space;
5099 len = layout.meta_bitmap_dscr_size;