Lines Matching refs:vtoc
478 struct extvtoc vtoc; /* synthetic for slice type */ member
683 static void vd_vtocgeom_to_label(struct extvtoc *vtoc, struct dk_geom *geom,
685 static void vd_label_to_vtocgeom(struct dk_label *label, struct extvtoc *vtoc,
688 static boolean_t vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc);
802 ASSERT(vd->vtoc.v_sectorsz == DEV_BSIZE); in vd_dskimg_io_params()
1664 struct extvtoc vtoc; in vd_slice_flabel_write() local
1687 vd_label_to_vtocgeom(label, &vtoc, &geom); in vd_slice_flabel_write()
1689 vd_slice_vtoc_isvalid(vd, &vtoc)) in vd_slice_flabel_write()
2860 vd_vtocgeom_to_label(struct extvtoc *vtoc, struct dk_geom *geom, in vd_vtocgeom_to_label() argument
2865 ASSERT(vtoc->v_nparts == V_NUMPAR); in vd_vtocgeom_to_label()
2866 ASSERT(vtoc->v_sanity == VTOC_SANE); in vd_vtocgeom_to_label()
2883 label->dkl_vtoc.v_version = vtoc->v_version; in vd_vtocgeom_to_label()
2885 label->dkl_vtoc.v_timestamp[i] = vtoc->timestamp[i]; in vd_vtocgeom_to_label()
2886 label->dkl_vtoc.v_part[i].p_tag = vtoc->v_part[i].p_tag; in vd_vtocgeom_to_label()
2887 label->dkl_vtoc.v_part[i].p_flag = vtoc->v_part[i].p_flag; in vd_vtocgeom_to_label()
2888 label->dkl_map[i].dkl_cylno = vtoc->v_part[i].p_start / in vd_vtocgeom_to_label()
2890 label->dkl_map[i].dkl_nblk = vtoc->v_part[i].p_size; in vd_vtocgeom_to_label()
2898 label->dkl_vtoc.v_bootinfo[0] = vtoc->v_bootinfo[0]; in vd_vtocgeom_to_label()
2899 label->dkl_vtoc.v_bootinfo[1] = vtoc->v_bootinfo[1]; in vd_vtocgeom_to_label()
2900 label->dkl_vtoc.v_bootinfo[2] = vtoc->v_bootinfo[2]; in vd_vtocgeom_to_label()
2901 bcopy(vtoc->v_asciilabel, label->dkl_asciilabel, LEN_DKL_ASCII); in vd_vtocgeom_to_label()
2902 bcopy(vtoc->v_volume, label->dkl_vtoc.v_volume, LEN_DKL_VVOL); in vd_vtocgeom_to_label()
2913 vd_label_to_vtocgeom(struct dk_label *label, struct extvtoc *vtoc, in vd_label_to_vtocgeom() argument
2918 bzero(vtoc, sizeof (struct extvtoc)); in vd_label_to_vtocgeom()
2932 vtoc->v_sanity = label->dkl_vtoc.v_sanity; in vd_label_to_vtocgeom()
2933 vtoc->v_version = label->dkl_vtoc.v_version; in vd_label_to_vtocgeom()
2934 vtoc->v_sectorsz = DEV_BSIZE; in vd_label_to_vtocgeom()
2935 vtoc->v_nparts = label->dkl_vtoc.v_nparts; in vd_label_to_vtocgeom()
2937 for (i = 0; i < vtoc->v_nparts; i++) { in vd_label_to_vtocgeom()
2938 vtoc->v_part[i].p_tag = label->dkl_vtoc.v_part[i].p_tag; in vd_label_to_vtocgeom()
2939 vtoc->v_part[i].p_flag = label->dkl_vtoc.v_part[i].p_flag; in vd_label_to_vtocgeom()
2940 vtoc->v_part[i].p_start = label->dkl_map[i].dkl_cylno * in vd_label_to_vtocgeom()
2942 vtoc->v_part[i].p_size = label->dkl_map[i].dkl_nblk; in vd_label_to_vtocgeom()
2943 vtoc->timestamp[i] = label->dkl_vtoc.v_timestamp[i]; in vd_label_to_vtocgeom()
2951 vtoc->v_bootinfo[0] = label->dkl_vtoc.v_bootinfo[0]; in vd_label_to_vtocgeom()
2952 vtoc->v_bootinfo[1] = label->dkl_vtoc.v_bootinfo[1]; in vd_label_to_vtocgeom()
2953 vtoc->v_bootinfo[2] = label->dkl_vtoc.v_bootinfo[2]; in vd_label_to_vtocgeom()
2954 bcopy(label->dkl_asciilabel, vtoc->v_asciilabel, LEN_DKL_ASCII); in vd_label_to_vtocgeom()
2955 bcopy(label->dkl_vtoc.v_volume, vtoc->v_volume, LEN_DKL_VVOL); in vd_label_to_vtocgeom()
2984 vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc) in vd_slice_vtoc_isvalid() argument
2992 if (vtoc->v_sanity != vd->vtoc.v_sanity || in vd_slice_vtoc_isvalid()
2993 vtoc->v_version != vd->vtoc.v_version || in vd_slice_vtoc_isvalid()
2994 vtoc->v_nparts != vd->vtoc.v_nparts || in vd_slice_vtoc_isvalid()
2995 strcmp(vtoc->v_volume, vd->vtoc.v_volume) != 0 || in vd_slice_vtoc_isvalid()
2996 strcmp(vtoc->v_asciilabel, vd->vtoc.v_asciilabel) != 0) in vd_slice_vtoc_isvalid()
3000 if (vtoc->v_part[VD_ENTIRE_DISK_SLICE].p_start != in vd_slice_vtoc_isvalid()
3001 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_start || in vd_slice_vtoc_isvalid()
3002 vtoc->v_part[VD_ENTIRE_DISK_SLICE].p_size != in vd_slice_vtoc_isvalid()
3003 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_size) in vd_slice_vtoc_isvalid()
3017 if (vtoc->v_part[0].p_start > 4 * csize || in vd_slice_vtoc_isvalid()
3018 vtoc->v_part[0].p_size > vtoc->v_part[VD_ENTIRE_DISK_SLICE].p_size) in vd_slice_vtoc_isvalid()
3021 if (vd->vtoc.v_part[0].p_size >= 4 * csize && in vd_slice_vtoc_isvalid()
3022 vtoc->v_part[0].p_size < vd->vtoc.v_part[0].p_size - 4 *csize) in vd_slice_vtoc_isvalid()
3026 for (i = 1; i < vtoc->v_nparts; i++) { in vd_slice_vtoc_isvalid()
3028 vtoc->v_part[i].p_size != 0) in vd_slice_vtoc_isvalid()
3048 struct extvtoc *vtoc; in vd_do_slice_ioctl() local
3071 bcopy(&vd->vtoc, ioctl_arg, sizeof (vd->vtoc)); in vd_do_slice_ioctl()
3092 vtoc = (struct extvtoc *)ioctl_arg; in vd_do_slice_ioctl()
3093 if (!vd_slice_vtoc_isvalid(vd, vtoc)) in vd_do_slice_ioctl()
3178 bzero(&vd->vtoc, sizeof (struct extvtoc)); in vd_dskimg_validate_efi()
3239 struct extvtoc *vtoc = &vd->vtoc; in vd_dskimg_validate_geometry() local
3268 vd_label_to_vtocgeom(&label, vtoc, geom); in vd_dskimg_validate_geometry()
3273 for (i = 0; i < vtoc->v_nparts; i++) { in vd_dskimg_validate_geometry()
3274 vd->slices[i].start = vtoc->v_part[i].p_start; in vd_dskimg_validate_geometry()
3275 vd->slices[i].nblocks = vtoc->v_part[i].p_size; in vd_dskimg_validate_geometry()
3294 struct extvtoc *vtoc; in vd_do_dskimg_ioctl() local
3314 vtoc = (struct extvtoc *)ioctl_arg; in vd_do_dskimg_ioctl()
3319 bcopy(&vd->vtoc, vtoc, sizeof (struct extvtoc)); in vd_do_dskimg_ioctl()
3342 vtoc = (struct extvtoc *)ioctl_arg; in vd_do_dskimg_ioctl()
3344 if (vtoc->v_sanity != VTOC_SANE || in vd_do_dskimg_ioctl()
3345 vtoc->v_sectorsz != DEV_BSIZE || in vd_do_dskimg_ioctl()
3346 vtoc->v_nparts != V_NUMPAR) in vd_do_dskimg_ioctl()
3349 vd_vtocgeom_to_label(vtoc, &vd->dk_geom, &label); in vd_do_dskimg_ioctl()
3406 struct vtoc vtoc; in vd_backend_ioctl() local
3440 (intptr_t)&vtoc, vd->open_flags | FKIOCTL, in vd_backend_ioctl()
3442 vtoctoextvtoc(vtoc, in vd_backend_ioctl()
3449 vtoc); in vd_backend_ioctl()
3451 (intptr_t)&vtoc, vd->open_flags | FKIOCTL, in vd_backend_ioctl()
3610 struct extvtoc vtoc = {0}; in vd_ioctl() local
3631 &vtoc, NULL, vtoc2vd_vtoc, B_FALSE}, in vd_ioctl()
3646 &vtoc, vd_vtoc2vtoc, NULL, B_TRUE}, in vd_ioctl()
5694 bzero(vd->vtoc.v_part, sizeof (vd->vtoc.v_part)); in vd_setup_partition_vtoc()
5695 vd->vtoc.v_part[0].p_tag = V_UNASSIGNED; in vd_setup_partition_vtoc()
5696 vd->vtoc.v_part[0].p_flag = 0; in vd_setup_partition_vtoc()
5701 vd->vtoc.v_part[0].p_start = csize; /* start on cylinder 1 */ in vd_setup_partition_vtoc()
5702 vd->vtoc.v_part[0].p_size = (vd->vdisk_size / csize) * csize; in vd_setup_partition_vtoc()
5705 vd->vtoc.v_nparts = 1; in vd_setup_partition_vtoc()
5706 bcopy(VD_ASCIILABEL, vd->vtoc.v_asciilabel, in vd_setup_partition_vtoc()
5708 sizeof (vd->vtoc.v_asciilabel))); in vd_setup_partition_vtoc()
5709 bcopy(VD_VOLUME_NAME, vd->vtoc.v_volume, in vd_setup_partition_vtoc()
5710 MIN(sizeof (VD_VOLUME_NAME), sizeof (vd->vtoc.v_volume))); in vd_setup_partition_vtoc()
5714 vd->vtoc.v_nparts = V_NUMPAR; in vd_setup_partition_vtoc()
5717 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_tag = V_BACKUP; in vd_setup_partition_vtoc()
5718 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_flag = 0; in vd_setup_partition_vtoc()
5719 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_start = 0; in vd_setup_partition_vtoc()
5720 vd->vtoc.v_part[VD_ENTIRE_DISK_SLICE].p_size = in vd_setup_partition_vtoc()
5740 (void) snprintf(vd->vtoc.v_asciilabel, LEN_DKL_ASCII, in vd_setup_partition_vtoc()
5745 bzero(vd->vtoc.v_volume, sizeof (vd->vtoc.v_volume)); in vd_setup_partition_vtoc()
5751 vd_vtocgeom_to_label(&vd->vtoc, &vd->dk_geom, in vd_setup_partition_vtoc()
5987 vd_label_to_vtocgeom(&label, &vd->vtoc, &vd->dk_geom); in vd_setup_slice_image()
6241 struct vtoc vtoc; in vd_setup_single_slice_disk() local
6276 (intptr_t)&vd->vtoc, (vd->open_flags | FKIOCTL), in vd_setup_single_slice_disk()
6282 (intptr_t)&vtoc, (vd->open_flags | FKIOCTL), in vd_setup_single_slice_disk()
6284 vtoctoextvtoc(vtoc, vd->vtoc); in vd_setup_single_slice_disk()
6304 vd_label_to_vtocgeom(&label, &vd->vtoc, &vd->dk_geom); in vd_setup_single_slice_disk()