int isert_pdu_send(struct isert_connection *isert_conn, struct isert_cmnd *tx_pdu) { int err; struct isert_wr *wr; TRACE_ENTRY(); #ifdef CONFIG_SCST_EXTRACHECKS EXTRACHECKS_BUG_ON(!isert_conn); EXTRACHECKS_BUG_ON(!tx_pdu); #endif wr = &tx_pdu->wr[0]; wr->send_wr.num_sge = isert_pdu_prepare_send(isert_conn, tx_pdu); err = isert_post_send(isert_conn, wr, 1); if (unlikely(err)) { pr_err("Failed to send pdu conn:%p pdu:%p err:%d\n", isert_conn, tx_pdu, err); } TRACE_EXIT_RES(err); return err; }
static int isert_receive_cmnd_data(struct iscsi_cmnd *cmnd) { #ifdef CONFIG_SCST_EXTRACHECKS if (cmnd->scst_state == ISCSI_CMD_STATE_RX_CMD) TRACE_DBG("cmnd %p is still in RX_CMD state", cmnd); #endif EXTRACHECKS_BUG_ON(cmnd->scst_state != ISCSI_CMD_STATE_AFTER_PREPROC); return 0; }
void isert_tx_pdu_convert_from_iscsi(struct isert_cmnd *isert_cmnd, struct iscsi_cmnd *iscsi_cmnd) { struct iscsi_pdu *iscsi_pdu = &iscsi_cmnd->pdu; TRACE_ENTRY(); memcpy(isert_cmnd->bhs, &iscsi_pdu->bhs, sizeof(*isert_cmnd->bhs)); if (unlikely(iscsi_pdu->ahssize)) { isert_cmnd->ahs = isert_cmnd->bhs + 1; memcpy(isert_cmnd->ahs, iscsi_pdu->ahs, iscsi_pdu->ahssize); } #ifdef CONFIG_SCST_EXTRACHECKS if (iscsi_cmnd->bufflen) EXTRACHECKS_BUG_ON(!iscsi_cmnd->sg); #endif TRACE_EXIT(); return; }