Re: [Open-FCoE] [PATCH RFC 3/5] qedf: Add offloaded I/O request functions.
From: Chad Dupuis <hidden>
Date: 2017-01-09 16:46:54
Also in:
netdev
On Wed, 28 Dec 2016, 9:08am -0000, Hannes Reinecke wrote:
On 12/23/2016 08:17 PM, Dupuis, Chad wrote:quoted
From: "Dupuis, Chad" <redacted> This patch adds various I/O requests types that are handled in firmware: - Normal I/O requests - ABTS requests - Cleanup requests - Task management requests It also contains: - I/O request initialization - Firmware completion handling Signed-off-by: Nilesh Javali <redacted> Signed-off-by: Manish Rangankar <redacted> Signed-off-by: Saurav Kashyap <redacted> Signed-off-by: Chad Dupuis <redacted> --- drivers/scsi/qedf/qedf_hsi.h | 427 ++++++++ drivers/scsi/qedf/qedf_io.c | 2303 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2730 insertions(+) create mode 100644 drivers/scsi/qedf/qedf_hsi.h create mode 100644 drivers/scsi/qedf/qedf_io.c[ .. ]quoted
+static int qedf_execute_tmf(struct qedf_rport *fcport, struct scsi_cmnd *sc_cmd, + uint8_t tm_flags) +{ + struct qedf_ioreq *io_req; + struct qedf_mp_req *tm_req; + struct fcoe_task_context *task; + struct fc_frame_header *fc_hdr; + struct fcp_cmnd *fcp_cmnd; + struct qedf_ctx *qedf = fcport->qedf; + int rc = 0; + uint16_t xid; + uint32_t sid, did; + int tmo = 0; + unsigned long flags; + + if (!sc_cmd) { + QEDF_ERR(&(qedf->dbg_ctx), "invalid arg\n"); + return FAILED; + } + + if (!(test_bit(QEDF_RPORT_SESSION_READY, &fcport->flags))) { + QEDF_ERR(&(qedf->dbg_ctx), "fcport not offloaded\n"); + rc = FAILED; + return FAILED; + } + + scsi_block_requests(qedf->lport->host); +Typically, EH commands will be executed after the scsi host is stopped and no commands are outstanding. So there's no point in issuing 'scsi_block_requests()' here.
Will remove.
Cheers, Hannes