Changeset View
Changeset View
Standalone View
Standalone View
sys/cam/ctl/ctl_frontend_iscsi.c
Show First 20 Lines • Show All 911 Lines • ▼ Show 20 Lines | #endif | ||||
if (cdw->cdw_datasn != ntohl(bhsdo->bhsdo_datasn)) { | if (cdw->cdw_datasn != ntohl(bhsdo->bhsdo_datasn)) { | ||||
CFISCSI_SESSION_WARN(cs, "received Data-Out PDU with " | CFISCSI_SESSION_WARN(cs, "received Data-Out PDU with " | ||||
"DataSN %u, while expected %u; dropping connection", | "DataSN %u, while expected %u; dropping connection", | ||||
ntohl(bhsdo->bhsdo_datasn), cdw->cdw_datasn); | ntohl(bhsdo->bhsdo_datasn), cdw->cdw_datasn); | ||||
icl_pdu_free(request); | icl_pdu_free(request); | ||||
cfiscsi_session_terminate(cs); | cfiscsi_session_terminate(cs); | ||||
return; | return; | ||||
} | } | ||||
cdw->cdw_datasn++; | cdw->cdw_datasn += request->ip_additional_pdus + 1; | ||||
io = cdw->cdw_ctl_io; | io = cdw->cdw_ctl_io; | ||||
KASSERT((io->io_hdr.flags & CTL_FLAG_DATA_MASK) != CTL_FLAG_DATA_IN, | KASSERT((io->io_hdr.flags & CTL_FLAG_DATA_MASK) != CTL_FLAG_DATA_IN, | ||||
("CTL_FLAG_DATA_IN")); | ("CTL_FLAG_DATA_IN")); | ||||
done = cfiscsi_handle_data_segment(request, cdw); | done = cfiscsi_handle_data_segment(request, cdw); | ||||
if (done) { | if (done) { | ||||
CFISCSI_SESSION_LOCK(cs); | CFISCSI_SESSION_LOCK(cs); | ||||
▲ Show 20 Lines • Show All 2,130 Lines • Show Last 20 Lines |