Thread (2 messages) 2 messages, 2 authors, 2017-01-09

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help