Lines Matching refs:io

397 	union ctl_io *io;  in pci_vtscsi_tmf_handle()  local
400 io = ctl_scsi_alloc_io(sc->vss_iid); in pci_vtscsi_tmf_handle()
401 ctl_scsi_zero_io(io); in pci_vtscsi_tmf_handle()
403 io->io_hdr.io_type = CTL_IO_TASK; in pci_vtscsi_tmf_handle()
404 io->io_hdr.nexus.initid = sc->vss_iid; in pci_vtscsi_tmf_handle()
405 io->io_hdr.nexus.targ_lun = pci_vtscsi_get_lun(tmf->lun); in pci_vtscsi_tmf_handle()
406 io->taskio.tag_type = CTL_TAG_SIMPLE; in pci_vtscsi_tmf_handle()
407 io->taskio.tag_num = tmf->id; in pci_vtscsi_tmf_handle()
408 io->io_hdr.flags |= CTL_FLAG_USER_TAG; in pci_vtscsi_tmf_handle()
412 io->taskio.task_action = CTL_TASK_ABORT_TASK; in pci_vtscsi_tmf_handle()
416 io->taskio.task_action = CTL_TASK_ABORT_TASK_SET; in pci_vtscsi_tmf_handle()
420 io->taskio.task_action = CTL_TASK_CLEAR_ACA; in pci_vtscsi_tmf_handle()
424 io->taskio.task_action = CTL_TASK_CLEAR_TASK_SET; in pci_vtscsi_tmf_handle()
428 io->taskio.task_action = CTL_TASK_I_T_NEXUS_RESET; in pci_vtscsi_tmf_handle()
432 io->taskio.task_action = CTL_TASK_LUN_RESET; in pci_vtscsi_tmf_handle()
436 io->taskio.task_action = CTL_TASK_QUERY_TASK; in pci_vtscsi_tmf_handle()
440 io->taskio.task_action = CTL_TASK_QUERY_TASK_SET; in pci_vtscsi_tmf_handle()
446 ctl_io_sbuf(io, sb); in pci_vtscsi_tmf_handle()
452 err = ioctl(sc->vss_ctl_fd, CTL_IO, io); in pci_vtscsi_tmf_handle()
456 tmf->response = io->taskio.task_status; in pci_vtscsi_tmf_handle()
457 ctl_scsi_free_io(io); in pci_vtscsi_tmf_handle()
476 union ctl_io *io; in pci_vtscsi_request_handle() local
501 io = ctl_scsi_alloc_io(sc->vss_iid); in pci_vtscsi_request_handle()
502 ctl_scsi_zero_io(io); in pci_vtscsi_request_handle()
504 io->io_hdr.nexus.initid = sc->vss_iid; in pci_vtscsi_request_handle()
505 io->io_hdr.nexus.targ_lun = pci_vtscsi_get_lun(cmd_rd->lun); in pci_vtscsi_request_handle()
507 io->io_hdr.io_type = CTL_IO_SCSI; in pci_vtscsi_request_handle()
513 io->io_hdr.flags |= CTL_FLAG_DATA_OUT; in pci_vtscsi_request_handle()
518 io->io_hdr.flags |= CTL_FLAG_DATA_IN; in pci_vtscsi_request_handle()
521 io->scsiio.sense_len = sc->vss_config.sense_size; in pci_vtscsi_request_handle()
522 io->scsiio.tag_num = cmd_rd->id; in pci_vtscsi_request_handle()
523 io->io_hdr.flags |= CTL_FLAG_USER_TAG; in pci_vtscsi_request_handle()
526 io->scsiio.tag_type = CTL_TAG_ORDERED; in pci_vtscsi_request_handle()
529 io->scsiio.tag_type = CTL_TAG_HEAD_OF_QUEUE; in pci_vtscsi_request_handle()
532 io->scsiio.tag_type = CTL_TAG_ACA; in pci_vtscsi_request_handle()
536 io->scsiio.tag_type = CTL_TAG_SIMPLE; in pci_vtscsi_request_handle()
539 io->scsiio.ext_sg_entries = ext_sg_entries; in pci_vtscsi_request_handle()
540 io->scsiio.ext_data_ptr = ext_data_ptr; in pci_vtscsi_request_handle()
541 io->scsiio.ext_data_len = ext_data_len; in pci_vtscsi_request_handle()
542 io->scsiio.ext_data_filled = 0; in pci_vtscsi_request_handle()
543 io->scsiio.cdb_len = sc->vss_config.cdb_size; in pci_vtscsi_request_handle()
544 memcpy(io->scsiio.cdb, cmd_rd->cdb, sc->vss_config.cdb_size); in pci_vtscsi_request_handle()
548 ctl_io_sbuf(io, sb); in pci_vtscsi_request_handle()
554 err = ioctl(sc->vss_ctl_fd, CTL_IO, io); in pci_vtscsi_request_handle()
559 cmd_wr->sense_len = MIN(io->scsiio.sense_len, in pci_vtscsi_request_handle()
561 cmd_wr->residual = ext_data_len - io->scsiio.ext_data_filled; in pci_vtscsi_request_handle()
562 cmd_wr->status = io->scsiio.scsi_status; in pci_vtscsi_request_handle()
564 memcpy(&cmd_wr->sense, &io->scsiio.sense_data, in pci_vtscsi_request_handle()
569 nxferred = VTSCSI_OUT_HEADER_LEN(sc) + io->scsiio.ext_data_filled; in pci_vtscsi_request_handle()
572 ctl_scsi_free_io(io); in pci_vtscsi_request_handle()