Changeset View
Changeset View
Standalone View
Standalone View
sys/cam/ctl/ctl_frontend_iscsi.c
Show First 20 Lines • Show All 2,777 Lines • ▼ Show 20 Lines | #endif | ||||
} | } | ||||
r2t_off = io->scsiio.kern_rel_offset + io->scsiio.ext_data_filled; | r2t_off = io->scsiio.kern_rel_offset + io->scsiio.ext_data_filled; | ||||
r2t_len = MIN(datamove_len - io->scsiio.ext_data_filled, | r2t_len = MIN(datamove_len - io->scsiio.ext_data_filled, | ||||
cs->cs_max_burst_length); | cs->cs_max_burst_length); | ||||
cdw->cdw_r2t_end = io->scsiio.ext_data_filled + r2t_len; | cdw->cdw_r2t_end = io->scsiio.ext_data_filled + r2t_len; | ||||
CFISCSI_SESSION_LOCK(cs); | CFISCSI_SESSION_LOCK(cs); | ||||
if (cs->cs_terminating) { | |||||
CFISCSI_SESSION_UNLOCK(cs); | |||||
cfiscsi_data_wait_abort(cs, cdw, 44); | |||||
return; | |||||
} | |||||
TAILQ_INSERT_TAIL(&cs->cs_waiting_for_data_out, cdw, cdw_next); | TAILQ_INSERT_TAIL(&cs->cs_waiting_for_data_out, cdw, cdw_next); | ||||
CFISCSI_SESSION_UNLOCK(cs); | CFISCSI_SESSION_UNLOCK(cs); | ||||
/* | /* | ||||
* XXX: We should limit the number of outstanding R2T PDUs | * XXX: We should limit the number of outstanding R2T PDUs | ||||
* per task to MaxOutstandingR2T. | * per task to MaxOutstandingR2T. | ||||
*/ | */ | ||||
response = cfiscsi_pdu_new_response(request, M_NOWAIT); | response = cfiscsi_pdu_new_response(request, M_NOWAIT); | ||||
▲ Show 20 Lines • Show All 270 Lines • Show Last 20 Lines |