vd_t
vd_dskimg_set_vtoc(vd_t *vd, struct dk_label *label)
vd_dskimg_get_devid_block(vd_t *vd, size_t *blkp)
vd_dskimg_read_devid(vd_t *vd, ddi_devid_t *devid)
vd_dskimg_write_devid(vd_t *vd, ddi_devid_t devid)
vd_do_scsi_rdwr(vd_t *vd, int operation, caddr_t data, size_t blk, size_t len)
vd_scsi_rdwr(vd_t *vd, int operation, caddr_t data, size_t vblk, size_t vlen)
vd_slice_flabel_read(vd_t *vd, caddr_t data, size_t offset, size_t length)
vd_slice_flabel_write(vd_t *vd, caddr_t data, size_t offset, size_t length)
vd_slice_fake_rdwr(vd_t *vd, int slice, int operation, caddr_t *datap,
vd_flush_write(vd_t *vd)
vd_t *vd = task->vd;
vd_t *vd = task->vd;
vd_need_reset(vd_t *vd, boolean_t reset_ldc)
vd_reset_if_needed(vd_t *vd)
vd_mark_in_reset(vd_t *vd)
vd_mark_elem_done(vd_t *vd, int idx, int elem_status, int elem_nbytes)
vd_t *vd = task->vd;
vd_t *vd = task->vd;
vd_slice_geom_isvalid(vd_t *vd, struct dk_geom *geom)
vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc)
vd_do_slice_ioctl(vd_t *vd, int cmd, void *ioctl_arg)
vds_efi_alloc_and_read(vd_t *vd, efi_gpt_t **gpt, efi_gpe_t **gpe)
vds_efi_free(vd_t *vd, efi_gpt_t *gpt, efi_gpe_t *gpe)
vd_dskimg_validate_efi(vd_t *vd)
vd_dskimg_validate_geometry(vd_t *vd)
vd_do_dskimg_ioctl(vd_t *vd, int cmd, void *ioctl_arg)
vd_backend_ioctl(vd_t *vd, int cmd, caddr_t arg)
vd_do_ioctl(vd_t *vd, vd_dring_payload_t *request, void* buf, vd_ioctl_t *ioctl)
vd_t *vd = task->vd;
vd_t *vd = task->vd;
vd_scsi_reset(vd_t *vd)
vd_t *vd = task->vd;
vd_t *vd = task->vd;
vd_t *vd = task->vd;
vd_t *vd = task->vd;
vd_reset_access(vd_t *vd)
vd_t *vd = task->vd;
vd_t *vd = task->vd;
vd_process_ver_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_set_exported_operations(vd_t *vd)
vd_process_attr_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_process_dring_reg_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_process_dring_unreg_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_check_seq_num(vd_t *vd, uint64_t seq_num)
vd_process_desc_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_process_element(vd_t *vd, vd_task_type_t type, uint32_t idx,
vd_process_element_range(vd_t *vd, int start, int end,
vd_process_dring_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_do_process_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_process_msg(vd_t *vd, vio_msg_t *msg, size_t msglen)
vd_enabled(vd_t *vd)
vd_t *vd = (vd_t *)arg;
vd_t *vd = (vd_t *)(void *)arg;
vd_dskimg_is_iso_image(vd_t *vd)
vd_is_atapi_device(vd_t *vd)
vd_setup_full_disk(vd_t *vd)
vd_setup_partition_vtoc(vd_t *vd)
vd_setup_partition_efi(vd_t *vd)
vd_setup_backend_vnode(vd_t *vd)
vd_setup_slice_image(vd_t *vd)
vd_setup_disk_image(vd_t *vd)
vd_open_using_ldi_by_name(vd_t *vd, int flags)
vd_setup_backend_ldi(vd_t *vd)
vd_setup_single_slice_disk(vd_t *vd)
vd_backend_check_size(vd_t *vd)
vd_identify_dev(vd_t *vd, int *dtype)
vd_setup_vd(vd_t *vd)
static void vd_free_dring_task(vd_t *vdp);
static int vd_setup_vd(vd_t *vd);
static int vd_setup_single_slice_disk(vd_t *vd);
static int vd_setup_slice_image(vd_t *vd);
static int vd_setup_disk_image(vd_t *vd);
static int vd_backend_check_size(vd_t *vd);
uint64_t ldc_id, vd_t **vdp)
vd_t *vd;
static boolean_t vd_enabled(vd_t *vd);
static int vd_dskimg_validate_geometry(vd_t *vd);
static boolean_t vd_dskimg_is_iso_image(vd_t *vd);
static void vd_set_exported_operations(vd_t *vd);
static void vd_reset_access(vd_t *vd);
static int vd_backend_ioctl(vd_t *vd, int cmd, caddr_t arg);
static int vds_efi_alloc_and_read(vd_t *, efi_gpt_t **, efi_gpe_t **);
static void vds_efi_free(vd_t *, efi_gpt_t *, efi_gpe_t *);
vd_free_dring_task(vd_t *vdp)
static boolean_t vd_slice_geom_isvalid(vd_t *vd, struct dk_geom *geom);
static boolean_t vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc);
vd_t *vd = (vd_t *)arg;
vd_t *vd = NULL;
vd_dskimg_io_params(vd_t *vd, int slice, size_t *blkp, size_t *lenp)
vd_dskimg_rw(vd_t *vd, int slice, int operation, caddr_t data, size_t offset,