Lines Matching refs:vtoc
477 struct extvtoc vtoc; /* synthetic for slice type */ member
682 static void vd_vtocgeom_to_label(struct extvtoc *vtoc, struct dk_geom *geom,
684 static void vd_label_to_vtocgeom(struct dk_label *label, struct extvtoc *vtoc,
687 static boolean_t vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc);
801 ASSERT(vd->vtoc.v_sectorsz == DEV_BSIZE); in vd_dskimg_io_params()
1663 struct extvtoc vtoc; in vd_slice_flabel_write() local
1686 vd_label_to_vtocgeom(label, &vtoc, &geom); in vd_slice_flabel_write()
1688 vd_slice_vtoc_isvalid(vd, &vtoc)) in vd_slice_flabel_write()
2859 vd_vtocgeom_to_label(struct extvtoc *vtoc, struct dk_geom *geom, in vd_vtocgeom_to_label() argument
2864 ASSERT(vtoc->v_nparts == V_NUMPAR); in vd_vtocgeom_to_label()
2865 ASSERT(vtoc->v_sanity == VTOC_SANE); in vd_vtocgeom_to_label()
2882 label->dkl_vtoc.v_version = vtoc->v_version; in vd_vtocgeom_to_label()
2884 label->dkl_vtoc.v_timestamp[i] = vtoc->timestamp[i]; in vd_vtocgeom_to_label()
2885 label->dkl_vtoc.v_part[i].p_tag = vtoc->v_part[i].p_tag; in vd_vtocgeom_to_label()
2886 label->dkl_vtoc.v_part[i].p_flag = vtoc->v_part[i].p_flag; in vd_vtocgeom_to_label()
2887 label->dkl_map[i].dkl_cylno = vtoc->v_part[i].p_start / in vd_vtocgeom_to_label()
2889 label->dkl_map[i].dkl_nblk = vtoc->v_part[i].p_size; in vd_vtocgeom_to_label()
2897 label->dkl_vtoc.v_bootinfo[0] = vtoc->v_bootinfo[0]; in vd_vtocgeom_to_label()
2898 label->dkl_vtoc.v_bootinfo[1] = vtoc->v_bootinfo[1]; in vd_vtocgeom_to_label()
2899 label->dkl_vtoc.v_bootinfo[2] = vtoc->v_bootinfo[2]; in vd_vtocgeom_to_label()
2900 bcopy(vtoc->v_asciilabel, label->dkl_asciilabel, LEN_DKL_ASCII); in vd_vtocgeom_to_label()
2901 bcopy(vtoc->v_volume, label->dkl_vtoc.v_volume, LEN_DKL_VVOL); in vd_vtocgeom_to_label()
2912 vd_label_to_vtocgeom(struct dk_label *label, struct extvtoc *vtoc, in vd_label_to_vtocgeom() argument
2917 bzero(vtoc, sizeof (struct extvtoc)); in vd_label_to_vtocgeom()
2931 vtoc->v_sanity = label->dkl_vtoc.v_sanity; in vd_label_to_vtocgeom()
2932 vtoc->v_version = label->dkl_vtoc.v_version; in vd_label_to_vtocgeom()
2933 vtoc->v_sectorsz = DEV_BSIZE; in vd_label_to_vtocgeom()
2934 vtoc->v_nparts = label->dkl_vtoc.v_nparts; in vd_label_to_vtocgeom()
2936 for (i = 0; i < vtoc->v_nparts; i++) { in vd_label_to_vtocgeom()
2937 vtoc->v_part[i].p_tag = label->dkl_vtoc.v_part[i].p_tag; in vd_label_to_vtocgeom()
2938 vtoc->v_part[i].p_flag = label->dkl_vtoc.v_part[i].p_flag; in vd_label_to_vtocgeom()
2939 vtoc->v_part[i].p_start = label->dkl_map[i].dkl_cylno * in vd_label_to_vtocgeom()
2941 vtoc->v_part[i].p_size = label->dkl_map[i].dkl_nblk; in vd_label_to_vtocgeom()
2942 vtoc->timestamp[i] = label->dkl_vtoc.v_timestamp[i]; in vd_label_to_vtocgeom()
2950 vtoc->v_bootinfo[0] = label->dkl_vtoc.v_bootinfo[0]; in vd_label_to_vtocgeom()
2951 vtoc->v_bootinfo[1] = label->dkl_vtoc.v_bootinfo[1]; in vd_label_to_vtocgeom()
2952 vtoc->v_bootinfo[2] = label->dkl_vtoc.v_bootinfo[2]; in vd_label_to_vtocgeom()
2953 bcopy(label->dkl_asciilabel, vtoc->v_asciilabel, LEN_DKL_ASCII); in vd_label_to_vtocgeom()
2954 bcopy(label->dkl_vtoc.v_volume, vtoc->v_volume, LEN_DKL_VVOL); in vd_label_to_vtocgeom()
2983 vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc) in vd_slice_vtoc_isvalid() argument
2991 if (vtoc->v_sanity != vd->vtoc.v_sanity || in vd_slice_vtoc_isvalid()
2992 vtoc->v_version != vd->vtoc.v_version || in vd_slice_vtoc_isvalid()
2993 vtoc->v_nparts != vd->vtoc.v_nparts || in vd_slice_vtoc_isvalid()
2994 strcmp(vtoc->v_volume, vd->vtoc.v_volume) != 0 || in vd_slice_vtoc_isvalid()
2995 strcmp(vtoc->v_asciilabel, vd->vtoc.v_asciilabel) != 0) in vd_slice_vtoc_isvalid()
2999 if (vtoc->v_part[VD_ENTIRE_DISK_SLICE].p_start != in vd_slice_vtoc_isvalid()
3000 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_start || in vd_slice_vtoc_isvalid()
3001 vtoc->v_part[VD_ENTIRE_DISK_SLICE].p_size != in vd_slice_vtoc_isvalid()
3002 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_size) in vd_slice_vtoc_isvalid()
3016 if (vtoc->v_part[0].p_start > 4 * csize || in vd_slice_vtoc_isvalid()
3017 vtoc->v_part[0].p_size > vtoc->v_part[VD_ENTIRE_DISK_SLICE].p_size) in vd_slice_vtoc_isvalid()
3020 if (vd->vtoc.v_part[0].p_size >= 4 * csize && in vd_slice_vtoc_isvalid()
3021 vtoc->v_part[0].p_size < vd->vtoc.v_part[0].p_size - 4 *csize) in vd_slice_vtoc_isvalid()
3025 for (i = 1; i < vtoc->v_nparts; i++) { in vd_slice_vtoc_isvalid()
3027 vtoc->v_part[i].p_size != 0) in vd_slice_vtoc_isvalid()
3047 struct extvtoc *vtoc; in vd_do_slice_ioctl() local
3070 bcopy(&vd->vtoc, ioctl_arg, sizeof (vd->vtoc)); in vd_do_slice_ioctl()
3091 vtoc = (struct extvtoc *)ioctl_arg; in vd_do_slice_ioctl()
3092 if (!vd_slice_vtoc_isvalid(vd, vtoc)) in vd_do_slice_ioctl()
3176 bzero(&vd->vtoc, sizeof (struct extvtoc)); in vd_dskimg_validate_efi()
3237 struct extvtoc *vtoc = &vd->vtoc; in vd_dskimg_validate_geometry() local
3266 vd_label_to_vtocgeom(&label, vtoc, geom); in vd_dskimg_validate_geometry()
3271 for (i = 0; i < vtoc->v_nparts; i++) { in vd_dskimg_validate_geometry()
3272 vd->slices[i].start = vtoc->v_part[i].p_start; in vd_dskimg_validate_geometry()
3273 vd->slices[i].nblocks = vtoc->v_part[i].p_size; in vd_dskimg_validate_geometry()
3292 struct extvtoc *vtoc; in vd_do_dskimg_ioctl() local
3312 vtoc = (struct extvtoc *)ioctl_arg; in vd_do_dskimg_ioctl()
3317 bcopy(&vd->vtoc, vtoc, sizeof (struct extvtoc)); in vd_do_dskimg_ioctl()
3340 vtoc = (struct extvtoc *)ioctl_arg; in vd_do_dskimg_ioctl()
3342 if (vtoc->v_sanity != VTOC_SANE || in vd_do_dskimg_ioctl()
3343 vtoc->v_sectorsz != DEV_BSIZE || in vd_do_dskimg_ioctl()
3344 vtoc->v_nparts != V_NUMPAR) in vd_do_dskimg_ioctl()
3347 vd_vtocgeom_to_label(vtoc, &vd->dk_geom, &label); in vd_do_dskimg_ioctl()
3404 struct vtoc vtoc; in vd_backend_ioctl() local
3438 (intptr_t)&vtoc, vd->open_flags | FKIOCTL, in vd_backend_ioctl()
3440 vtoctoextvtoc(vtoc, in vd_backend_ioctl()
3447 vtoc); in vd_backend_ioctl()
3449 (intptr_t)&vtoc, vd->open_flags | FKIOCTL, in vd_backend_ioctl()
3608 struct extvtoc vtoc = {0}; in vd_ioctl() local
3629 &vtoc, NULL, vtoc2vd_vtoc, B_FALSE}, in vd_ioctl()
3644 &vtoc, vd_vtoc2vtoc, NULL, B_TRUE}, in vd_ioctl()
5689 bzero(vd->vtoc.v_part, sizeof (vd->vtoc.v_part)); in vd_setup_partition_vtoc()
5690 vd->vtoc.v_part[0].p_tag = V_UNASSIGNED; in vd_setup_partition_vtoc()
5691 vd->vtoc.v_part[0].p_flag = 0; in vd_setup_partition_vtoc()
5696 vd->vtoc.v_part[0].p_start = csize; /* start on cylinder 1 */ in vd_setup_partition_vtoc()
5697 vd->vtoc.v_part[0].p_size = (vd->vdisk_size / csize) * csize; in vd_setup_partition_vtoc()
5700 vd->vtoc.v_nparts = 1; in vd_setup_partition_vtoc()
5701 bcopy(VD_ASCIILABEL, vd->vtoc.v_asciilabel, in vd_setup_partition_vtoc()
5703 sizeof (vd->vtoc.v_asciilabel))); in vd_setup_partition_vtoc()
5704 bcopy(VD_VOLUME_NAME, vd->vtoc.v_volume, in vd_setup_partition_vtoc()
5705 MIN(sizeof (VD_VOLUME_NAME), sizeof (vd->vtoc.v_volume))); in vd_setup_partition_vtoc()
5709 vd->vtoc.v_nparts = V_NUMPAR; in vd_setup_partition_vtoc()
5712 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_tag = V_BACKUP; in vd_setup_partition_vtoc()
5713 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_flag = 0; in vd_setup_partition_vtoc()
5714 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_start = 0; in vd_setup_partition_vtoc()
5715 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_size = in vd_setup_partition_vtoc()
5735 (void) snprintf(vd->vtoc.v_asciilabel, LEN_DKL_ASCII, in vd_setup_partition_vtoc()
5740 bzero(vd->vtoc.v_volume, sizeof (vd->vtoc.v_volume)); in vd_setup_partition_vtoc()
5746 vd_vtocgeom_to_label(&vd->vtoc, &vd->dk_geom, in vd_setup_partition_vtoc()
5982 vd_label_to_vtocgeom(&label, &vd->vtoc, &vd->dk_geom); in vd_setup_slice_image()
6236 struct vtoc vtoc; in vd_setup_single_slice_disk() local
6271 (intptr_t)&vd->vtoc, (vd->open_flags | FKIOCTL), in vd_setup_single_slice_disk()
6277 (intptr_t)&vtoc, (vd->open_flags | FKIOCTL), in vd_setup_single_slice_disk()
6279 vtoctoextvtoc(vtoc, vd->vtoc); in vd_setup_single_slice_disk()
6299 vd_label_to_vtocgeom(&label, &vd->vtoc, &vd->dk_geom); in vd_setup_single_slice_disk()