Lines Matching defs:ctsio

147 	struct ctl_scsiio	*ctsio;
267 ctl_inquiry_evpd_tpc(struct ctl_scsiio *ctsio, int alloc_len)
269 struct ctl_lun *lun = CTL_LUN(ctsio);
298 ctsio->kern_data_ptr = malloc(data_len, M_CTL, M_WAITOK | M_ZERO);
299 tpc_ptr = (struct scsi_vpd_tpc *)ctsio->kern_data_ptr;
300 ctsio->kern_rel_offset = 0;
301 ctsio->kern_sg_entries = 0;
302 ctsio->kern_data_len = min(data_len, alloc_len);
303 ctsio->kern_total_len = ctsio->kern_data_len;
440 ctl_set_success(ctsio);
441 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
442 ctsio->be_move_done = ctl_config_move_done;
443 ctl_datamove((union ctl_io *)ctsio);
449 ctl_receive_copy_operating_parameters(struct ctl_scsiio *ctsio)
458 cdb = (struct scsi_receive_copy_operating_parameters *)ctsio->cdb;
465 ctsio->kern_data_ptr = malloc(total_len, M_CTL, M_WAITOK | M_ZERO);
466 ctsio->kern_sg_entries = 0;
467 ctsio->kern_rel_offset = 0;
468 ctsio->kern_data_len = min(total_len, alloc_len);
469 ctsio->kern_total_len = ctsio->kern_data_len;
471 data = (struct scsi_receive_copy_operating_parameters_data *)ctsio->kern_data_ptr;
492 ctl_set_success(ctsio);
493 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
494 ctsio->be_move_done = ctl_config_move_done;
495 ctl_datamove((union ctl_io *)ctsio);
515 ctl_receive_copy_status_lid1(struct ctl_scsiio *ctsio)
517 struct ctl_lun *lun = CTL_LUN(ctsio);
528 cdb = (struct scsi_receive_copy_status_lid1 *)ctsio->cdb;
534 ctl_get_initindex(&ctsio->io_hdr.nexus));
537 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
540 ctl_done((union ctl_io *)ctsio);
553 ctsio->kern_data_ptr = malloc(total_len, M_CTL, M_WAITOK | M_ZERO);
554 ctsio->kern_sg_entries = 0;
555 ctsio->kern_rel_offset = 0;
556 ctsio->kern_data_len = min(total_len, alloc_len);
557 ctsio->kern_total_len = ctsio->kern_data_len;
559 data = (struct scsi_receive_copy_status_lid1_data *)ctsio->kern_data_ptr;
577 ctl_set_success(ctsio);
578 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
579 ctsio->be_move_done = ctl_config_move_done;
580 ctl_datamove((union ctl_io *)ctsio);
585 ctl_receive_copy_failure_details(struct ctl_scsiio *ctsio)
587 struct ctl_lun *lun = CTL_LUN(ctsio);
598 cdb = (struct scsi_receive_copy_failure_details *)ctsio->cdb;
604 ctl_get_initindex(&ctsio->io_hdr.nexus));
607 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
610 ctl_done((union ctl_io *)ctsio);
621 ctsio->kern_data_ptr = malloc(total_len, M_CTL, M_WAITOK | M_ZERO);
622 ctsio->kern_sg_entries = 0;
623 ctsio->kern_rel_offset = 0;
624 ctsio->kern_data_len = min(total_len, alloc_len);
625 ctsio->kern_total_len = ctsio->kern_data_len;
627 data = (struct scsi_receive_copy_failure_details_data *)ctsio->kern_data_ptr;
637 ctl_set_success(ctsio);
638 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
639 ctsio->be_move_done = ctl_config_move_done;
640 ctl_datamove((union ctl_io *)ctsio);
645 ctl_receive_copy_status_lid4(struct ctl_scsiio *ctsio)
647 struct ctl_lun *lun = CTL_LUN(ctsio);
658 cdb = (struct scsi_receive_copy_status_lid4 *)ctsio->cdb;
664 ctl_get_initindex(&ctsio->io_hdr.nexus));
667 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
670 ctl_done((union ctl_io *)ctsio);
683 ctsio->kern_data_ptr = malloc(total_len, M_CTL, M_WAITOK | M_ZERO);
684 ctsio->kern_sg_entries = 0;
685 ctsio->kern_rel_offset = 0;
686 ctsio->kern_data_len = min(total_len, alloc_len);
687 ctsio->kern_total_len = ctsio->kern_data_len;
689 data = (struct scsi_receive_copy_status_lid4_data *)ctsio->kern_data_ptr;
711 ctl_set_success(ctsio);
712 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
713 ctsio->be_move_done = ctl_config_move_done;
714 ctl_datamove((union ctl_io *)ctsio);
719 ctl_copy_operation_abort(struct ctl_scsiio *ctsio)
721 struct ctl_lun *lun = CTL_LUN(ctsio);
729 cdb = (struct scsi_copy_operation_abort *)ctsio->cdb;
735 ctl_get_initindex(&ctsio->io_hdr.nexus));
738 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
741 ctl_done((union ctl_io *)ctsio);
747 ctl_set_success(ctsio);
748 ctl_done((union ctl_io *)ctsio);
803 ctl_set_sense(list->ctsio, /*current_error*/ 1,
835 ctl_set_task_aborted(list->ctsio);
853 ctl_set_sense(list->ctsio, /*current_error*/ 1,
884 ctl_set_sense(list->ctsio, /*current_error*/ 1,
987 ctl_set_task_aborted(list->ctsio);
1001 ctl_set_sense(list->ctsio, /*current_error*/ 1,
1051 ctl_set_task_aborted(list->ctsio);
1065 ctl_set_sense(list->ctsio, /*current_error*/ 1,
1188 ctl_set_task_aborted(list->ctsio);
1192 list->ctsio->io_hdr.status =
1194 list->ctsio->scsi_status = list->fwd_scsi_status;
1195 list->ctsio->sense_data = list->fwd_sense_data;
1196 list->ctsio->sense_len = list->fwd_sense_len;
1198 ctl_set_invalid_field(list->ctsio,
1224 ctl_set_invalid_field(list->ctsio, /*sks_valid*/ 0,
1246 ctl_set_invalid_field(list->ctsio, /*sks_valid*/ 0,
1345 ctl_set_task_aborted(list->ctsio);
1349 list->ctsio->io_hdr.status =
1351 list->ctsio->scsi_status = list->fwd_scsi_status;
1352 list->ctsio->sense_data = list->fwd_sense_data;
1353 list->ctsio->sense_len = list->fwd_sense_len;
1355 ctl_set_invalid_field(list->ctsio,
1419 struct ctl_scsiio *ctsio = list->ctsio;
1450 ctl_set_sense(ctsio, /*current_error*/ 1,
1468 ctl_set_success(ctsio);
1488 list->sense_data = ctsio->sense_data;
1489 list->sense_len = ctsio->sense_len;
1490 list->scsi_status = ctsio->scsi_status;
1494 ctl_done((union ctl_io *)ctsio);
1660 ctl_extended_copy_lid1(struct ctl_scsiio *ctsio)
1662 struct ctl_lun *lun = CTL_LUN(ctsio);
1674 cdb = (struct scsi_extended_copy *)ctsio->cdb;
1678 ctl_set_success(ctsio);
1684 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1,
1693 if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) {
1694 ctsio->kern_data_ptr = malloc(len, M_CTL, M_WAITOK);
1695 ctsio->kern_data_len = len;
1696 ctsio->kern_total_len = len;
1697 ctsio->kern_rel_offset = 0;
1698 ctsio->kern_sg_entries = 0;
1699 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
1700 ctsio->be_move_done = ctl_config_move_done;
1701 ctl_datamove((union ctl_io *)ctsio);
1706 data = (struct scsi_extended_copy_lid1_data *)ctsio->kern_data_ptr;
1711 ctl_set_sense(ctsio, /*current_error*/ 1,
1717 ctl_set_sense(ctsio, /*current_error*/ 1,
1726 ctl_set_param_len_error(ctsio);
1736 list->init_port = ctsio->io_hdr.nexus.targ_port;
1737 list->init_idx = ctl_get_initindex(&ctsio->io_hdr.nexus);
1740 list->params = ctsio->kern_data_ptr;
1747 ctl_set_sense(ctsio, /*current_error*/ 1,
1757 ctl_set_sense(ctsio, /*current_error*/ 1,
1767 ctl_set_sense(ctsio, /*current_error*/ 1,
1780 list->ctsio = ctsio;
1788 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
1805 if (ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) {
1806 free(ctsio->kern_data_ptr, M_CTL);
1807 ctsio->io_hdr.flags &= ~CTL_FLAG_ALLOCATED;
1809 ctl_done((union ctl_io *)ctsio);
1814 ctl_extended_copy_lid4(struct ctl_scsiio *ctsio)
1816 struct ctl_lun *lun = CTL_LUN(ctsio);
1828 cdb = (struct scsi_extended_copy *)ctsio->cdb;
1832 ctl_set_success(ctsio);
1838 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1,
1847 if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) {
1848 ctsio->kern_data_ptr = malloc(len, M_CTL, M_WAITOK);
1849 ctsio->kern_data_len = len;
1850 ctsio->kern_total_len = len;
1851 ctsio->kern_rel_offset = 0;
1852 ctsio->kern_sg_entries = 0;
1853 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
1854 ctsio->be_move_done = ctl_config_move_done;
1855 ctl_datamove((union ctl_io *)ctsio);
1860 data = (struct scsi_extended_copy_lid4_data *)ctsio->kern_data_ptr;
1865 ctl_set_sense(ctsio, /*current_error*/ 1,
1871 ctl_set_sense(ctsio, /*current_error*/ 1,
1880 ctl_set_param_len_error(ctsio);
1890 list->init_port = ctsio->io_hdr.nexus.targ_port;
1891 list->init_idx = ctl_get_initindex(&ctsio->io_hdr.nexus);
1894 list->params = ctsio->kern_data_ptr;
1901 ctl_set_sense(ctsio, /*current_error*/ 1,
1911 ctl_set_sense(ctsio, /*current_error*/ 1,
1921 ctl_set_sense(ctsio, /*current_error*/ 1,
1934 list->ctsio = ctsio;
1942 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
1959 if (ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) {
1960 free(ctsio->kern_data_ptr, M_CTL);
1961 ctsio->io_hdr.flags &= ~CTL_FLAG_ALLOCATED;
1963 ctl_done((union ctl_io *)ctsio);
2015 ctl_populate_token(struct ctl_scsiio *ctsio)
2017 struct ctl_softc *softc = CTL_SOFTC(ctsio);
2018 struct ctl_port *port = CTL_PORT(ctsio);
2019 struct ctl_lun *lun = CTL_LUN(ctsio);
2029 cdb = (struct scsi_populate_token *)ctsio->cdb;
2035 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1,
2044 if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) {
2045 ctsio->kern_data_ptr = malloc(len, M_CTL, M_WAITOK);
2046 ctsio->kern_data_len = len;
2047 ctsio->kern_total_len = len;
2048 ctsio->kern_rel_offset = 0;
2049 ctsio->kern_sg_entries = 0;
2050 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
2051 ctsio->be_move_done = ctl_config_move_done;
2052 ctl_datamove((union ctl_io *)ctsio);
2057 data = (struct scsi_populate_token_data *)ctsio->kern_data_ptr;
2061 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 0,
2069 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 0,
2083 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
2092 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 0,
2102 ctl_set_lba_out_of_range(ctsio, lba);
2108 ctl_set_invalid_field(ctsio, /*sks_valid*/ 0,
2116 list->init_port = ctsio->io_hdr.nexus.targ_port;
2117 list->init_idx = ctl_get_initindex(&ctsio->io_hdr.nexus);
2120 list->ctsio = ctsio;
2127 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
2142 token->params = ctsio->kern_data_ptr;
2165 ctl_set_success(ctsio);
2166 ctl_done((union ctl_io *)ctsio);
2170 if (ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) {
2171 free(ctsio->kern_data_ptr, M_CTL);
2172 ctsio->io_hdr.flags &= ~CTL_FLAG_ALLOCATED;
2174 ctl_done((union ctl_io *)ctsio);
2179 ctl_write_using_token(struct ctl_scsiio *ctsio)
2181 struct ctl_softc *softc = CTL_SOFTC(ctsio);
2182 struct ctl_lun *lun = CTL_LUN(ctsio);
2192 cdb = (struct scsi_write_using_token *)ctsio->cdb;
2198 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1,
2207 if ((ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) == 0) {
2208 ctsio->kern_data_ptr = malloc(len, M_CTL, M_WAITOK);
2209 ctsio->kern_data_len = len;
2210 ctsio->kern_total_len = len;
2211 ctsio->kern_rel_offset = 0;
2212 ctsio->kern_sg_entries = 0;
2213 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
2214 ctsio->be_move_done = ctl_config_move_done;
2215 ctl_datamove((union ctl_io *)ctsio);
2220 data = (struct scsi_write_using_token_data *)ctsio->kern_data_ptr;
2224 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 0,
2232 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 0,
2248 ctl_set_lba_out_of_range(ctsio, lba);
2254 ctl_set_invalid_field(ctsio, /*sks_valid*/ 0,
2262 list->init_port = ctsio->io_hdr.nexus.targ_port;
2263 list->init_idx = ctl_get_initindex(&ctsio->io_hdr.nexus);
2266 list->params = ctsio->kern_data_ptr;
2271 list->ctsio = ctsio;
2278 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
2314 ctl_set_sense(ctsio, /*current_error*/ 1,
2324 if (ctsio->io_hdr.flags & CTL_FLAG_ALLOCATED) {
2325 free(ctsio->kern_data_ptr, M_CTL);
2326 ctsio->io_hdr.flags &= ~CTL_FLAG_ALLOCATED;
2328 ctl_done((union ctl_io *)ctsio);
2333 ctl_receive_rod_token_information(struct ctl_scsiio *ctsio)
2335 struct ctl_lun *lun = CTL_LUN(ctsio);
2347 cdb = (struct scsi_receive_rod_token_information *)ctsio->cdb;
2353 ctl_get_initindex(&ctsio->io_hdr.nexus));
2356 ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
2359 ctl_done((union ctl_io *)ctsio);
2373 ctsio->kern_data_ptr = malloc(total_len, M_CTL, M_WAITOK | M_ZERO);
2374 ctsio->kern_sg_entries = 0;
2375 ctsio->kern_rel_offset = 0;
2376 ctsio->kern_data_len = min(total_len, alloc_len);
2377 ctsio->kern_total_len = ctsio->kern_data_len;
2379 data = (struct scsi_receive_copy_status_lid4_data *)ctsio->kern_data_ptr;
2411 ctl_set_success(ctsio);
2412 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
2413 ctsio->be_move_done = ctl_config_move_done;
2414 ctl_datamove((union ctl_io *)ctsio);
2419 ctl_report_all_rod_tokens(struct ctl_scsiio *ctsio)
2421 struct ctl_softc *softc = CTL_SOFTC(ctsio);
2430 cdb = (struct scsi_report_all_rod_tokens *)ctsio->cdb;
2444 ctsio->kern_data_ptr = malloc(total_len, M_CTL, M_WAITOK | M_ZERO);
2445 ctsio->kern_sg_entries = 0;
2446 ctsio->kern_rel_offset = 0;
2447 ctsio->kern_data_len = min(total_len, alloc_len);
2448 ctsio->kern_total_len = ctsio->kern_data_len;
2450 data = (struct scsi_report_all_rod_tokens_data *)ctsio->kern_data_ptr;
2465 ctl_set_success(ctsio);
2466 ctsio->io_hdr.flags |= CTL_FLAG_ALLOCATED;
2467 ctsio->be_move_done = ctl_config_move_done;
2468 ctl_datamove((union ctl_io *)ctsio);