Hannes Reinecke 7fc52c
From: James Smart <jsmart2021@gmail.com>
Hannes Reinecke 7fc52c
Date: Tue, 31 Mar 2020 09:49:48 -0700
Hannes Reinecke 7fc52c
Subject: [PATCH] nvme-fc nvmet-fc: refactor for common LS definitions
Hannes Reinecke 7fc52c
Git-commit: c0005a9d63a6127c2914e0b66c7224b0bb5b5fd4
Hannes Reinecke 7fc52c
Git-repo: git://git.infradead.org/nvme.git
Hannes Reinecke 7fc52c
Patch-mainline: Queued in subsystem maintainer repository
Hannes Reinecke 7fc52c
References: bsc#1169045
Hannes Reinecke 7fc52c
Hannes Reinecke 7fc52c
Routines in the target will want to be used in the host as well.
Hannes Reinecke 7fc52c
Error definitions should now shared as both sides will process
Hannes Reinecke 7fc52c
requests and responses to requests.
Hannes Reinecke 7fc52c
Hannes Reinecke 7fc52c
Moved common declarations to new fc.h header kept in the host
Hannes Reinecke 7fc52c
subdirectory.
Hannes Reinecke 7fc52c
Hannes Reinecke 7fc52c
Signed-off-by: James Smart <jsmart2021@gmail.com>
Hannes Reinecke 7fc52c
Reviewed-by: Hannes Reinecke <hare@suse.de>
Hannes Reinecke 7fc52c
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Hannes Reinecke 7fc52c
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hannes Reinecke 7fc52c
Acked-by: Hannes Reinecke <hare@suse.com>
Hannes Reinecke 7fc52c
---
Hannes Reinecke 7fc52c
 drivers/nvme/host/fc.c   |  36 +------------
Hannes Reinecke 7fc52c
 drivers/nvme/host/fc.h   | 133 +++++++++++++++++++++++++++++++++++++++++++++++
Hannes Reinecke 7fc52c
 drivers/nvme/target/fc.c | 115 ++++------------------------------------
Hannes Reinecke 7fc52c
 3 files changed, 143 insertions(+), 141 deletions(-)
Hannes Reinecke 7fc52c
 create mode 100644 drivers/nvme/host/fc.h
Hannes Reinecke 7fc52c
Hannes Reinecke 7fc52c
diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
Hannes Reinecke 7fc52c
index 8012099fc3ee..83f9b2ac7c55 100644
Hannes Reinecke 7fc52c
--- a/drivers/nvme/host/fc.c
Hannes Reinecke 7fc52c
+++ b/drivers/nvme/host/fc.c
Hannes Reinecke 7fc52c
@@ -14,6 +14,7 @@
Hannes Reinecke 7fc52c
 #include "fabrics.h"
Hannes Reinecke 7fc52c
 #include <linux/nvme-fc-driver.h>
Hannes Reinecke 7fc52c
 #include <linux/nvme-fc.h>
Hannes Reinecke 7fc52c
+#include "fc.h"
Hannes Reinecke 7fc52c
 #include <scsi/scsi_transport_fc.h>
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
 /* *************************** Data Structures/Defines ****************** */
Hannes Reinecke 7fc52c
@@ -1140,41 +1141,6 @@ nvme_fc_send_ls_req_async(struct nvme_fc_rport *rport,
Hannes Reinecke 7fc52c
 	return __nvme_fc_send_ls_req(rport, lsop, done);
Hannes Reinecke 7fc52c
 }
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
-/* Validation Error indexes into the string table below */
Hannes Reinecke 7fc52c
-enum {
Hannes Reinecke 7fc52c
-	VERR_NO_ERROR		= 0,
Hannes Reinecke 7fc52c
-	VERR_LSACC		= 1,
Hannes Reinecke 7fc52c
-	VERR_LSDESC_RQST	= 2,
Hannes Reinecke 7fc52c
-	VERR_LSDESC_RQST_LEN	= 3,
Hannes Reinecke 7fc52c
-	VERR_ASSOC_ID		= 4,
Hannes Reinecke 7fc52c
-	VERR_ASSOC_ID_LEN	= 5,
Hannes Reinecke 7fc52c
-	VERR_CONN_ID		= 6,
Hannes Reinecke 7fc52c
-	VERR_CONN_ID_LEN	= 7,
Hannes Reinecke 7fc52c
-	VERR_CR_ASSOC		= 8,
Hannes Reinecke 7fc52c
-	VERR_CR_ASSOC_ACC_LEN	= 9,
Hannes Reinecke 7fc52c
-	VERR_CR_CONN		= 10,
Hannes Reinecke 7fc52c
-	VERR_CR_CONN_ACC_LEN	= 11,
Hannes Reinecke 7fc52c
-	VERR_DISCONN		= 12,
Hannes Reinecke 7fc52c
-	VERR_DISCONN_ACC_LEN	= 13,
Hannes Reinecke 7fc52c
-};
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
-static char *validation_errors[] = {
Hannes Reinecke 7fc52c
-	"OK",
Hannes Reinecke 7fc52c
-	"Not LS_ACC",
Hannes Reinecke 7fc52c
-	"Not LSDESC_RQST",
Hannes Reinecke 7fc52c
-	"Bad LSDESC_RQST Length",
Hannes Reinecke 7fc52c
-	"Not Association ID",
Hannes Reinecke 7fc52c
-	"Bad Association ID Length",
Hannes Reinecke 7fc52c
-	"Not Connection ID",
Hannes Reinecke 7fc52c
-	"Bad Connection ID Length",
Hannes Reinecke 7fc52c
-	"Not CR_ASSOC Rqst",
Hannes Reinecke 7fc52c
-	"Bad CR_ASSOC ACC Length",
Hannes Reinecke 7fc52c
-	"Not CR_CONN Rqst",
Hannes Reinecke 7fc52c
-	"Bad CR_CONN ACC Length",
Hannes Reinecke 7fc52c
-	"Not Disconnect Rqst",
Hannes Reinecke 7fc52c
-	"Bad Disconnect ACC Length",
Hannes Reinecke 7fc52c
-};
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
 static int
Hannes Reinecke 7fc52c
 nvme_fc_connect_admin_queue(struct nvme_fc_ctrl *ctrl,
Hannes Reinecke 7fc52c
 	struct nvme_fc_queue *queue, u16 qsize, u16 ersp_ratio)
Hannes Reinecke 7fc52c
diff --git a/drivers/nvme/host/fc.h b/drivers/nvme/host/fc.h
Hannes Reinecke 7fc52c
new file mode 100644
Hannes Reinecke 7fc52c
index 000000000000..d2861cdd58ee
Hannes Reinecke 7fc52c
--- /dev/null
Hannes Reinecke 7fc52c
+++ b/drivers/nvme/host/fc.h
Hannes Reinecke 7fc52c
@@ -0,0 +1,133 @@
Hannes Reinecke 7fc52c
+/* SPDX-License-Identifier: GPL-2.0 */
Hannes Reinecke 7fc52c
+/*
Hannes Reinecke 7fc52c
+ * Copyright (c) 2016, Avago Technologies
Hannes Reinecke 7fc52c
+ */
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+#ifndef _NVME_FC_TRANSPORT_H
Hannes Reinecke 7fc52c
+#define _NVME_FC_TRANSPORT_H 1
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+/*
Hannes Reinecke 7fc52c
+ * Common definitions between the nvme_fc (host) transport and
Hannes Reinecke 7fc52c
+ * nvmet_fc (target) transport implementation.
Hannes Reinecke 7fc52c
+ */
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+/*
Hannes Reinecke 7fc52c
+ * ******************  FC-NVME LS HANDLING ******************
Hannes Reinecke 7fc52c
+ */
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+static inline void
Hannes Reinecke 7fc52c
+nvme_fc_format_rsp_hdr(void *buf, u8 ls_cmd, __be32 desc_len, u8 rqst_ls_cmd)
Hannes Reinecke 7fc52c
+{
Hannes Reinecke 7fc52c
+	struct fcnvme_ls_acc_hdr *acc = buf;
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+	acc->w0.ls_cmd = ls_cmd;
Hannes Reinecke 7fc52c
+	acc->desc_list_len = desc_len;
Hannes Reinecke 7fc52c
+	acc->rqst.desc_tag = cpu_to_be32(FCNVME_LSDESC_RQST);
Hannes Reinecke 7fc52c
+	acc->rqst.desc_len =
Hannes Reinecke 7fc52c
+			fcnvme_lsdesc_len(sizeof(struct fcnvme_lsdesc_rqst));
Hannes Reinecke 7fc52c
+	acc->rqst.w0.ls_cmd = rqst_ls_cmd;
Hannes Reinecke 7fc52c
+}
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+static inline int
Hannes Reinecke 7fc52c
+nvme_fc_format_rjt(void *buf, u16 buflen, u8 ls_cmd,
Hannes Reinecke 7fc52c
+			u8 reason, u8 explanation, u8 vendor)
Hannes Reinecke 7fc52c
+{
Hannes Reinecke 7fc52c
+	struct fcnvme_ls_rjt *rjt = buf;
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+	nvme_fc_format_rsp_hdr(buf, FCNVME_LSDESC_RQST,
Hannes Reinecke 7fc52c
+			fcnvme_lsdesc_len(sizeof(struct fcnvme_ls_rjt)),
Hannes Reinecke 7fc52c
+			ls_cmd);
Hannes Reinecke 7fc52c
+	rjt->rjt.desc_tag = cpu_to_be32(FCNVME_LSDESC_RJT);
Hannes Reinecke 7fc52c
+	rjt->rjt.desc_len = fcnvme_lsdesc_len(sizeof(struct fcnvme_lsdesc_rjt));
Hannes Reinecke 7fc52c
+	rjt->rjt.reason_code = reason;
Hannes Reinecke 7fc52c
+	rjt->rjt.reason_explanation = explanation;
Hannes Reinecke 7fc52c
+	rjt->rjt.vendor = vendor;
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+	return sizeof(struct fcnvme_ls_rjt);
Hannes Reinecke 7fc52c
+}
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+/* Validation Error indexes into the string table below */
Hannes Reinecke 7fc52c
+enum {
Hannes Reinecke 7fc52c
+	VERR_NO_ERROR		= 0,
Hannes Reinecke 7fc52c
+	VERR_CR_ASSOC_LEN	= 1,
Hannes Reinecke 7fc52c
+	VERR_CR_ASSOC_RQST_LEN	= 2,
Hannes Reinecke 7fc52c
+	VERR_CR_ASSOC_CMD	= 3,
Hannes Reinecke 7fc52c
+	VERR_CR_ASSOC_CMD_LEN	= 4,
Hannes Reinecke 7fc52c
+	VERR_ERSP_RATIO		= 5,
Hannes Reinecke 7fc52c
+	VERR_ASSOC_ALLOC_FAIL	= 6,
Hannes Reinecke 7fc52c
+	VERR_QUEUE_ALLOC_FAIL	= 7,
Hannes Reinecke 7fc52c
+	VERR_CR_CONN_LEN	= 8,
Hannes Reinecke 7fc52c
+	VERR_CR_CONN_RQST_LEN	= 9,
Hannes Reinecke 7fc52c
+	VERR_ASSOC_ID		= 10,
Hannes Reinecke 7fc52c
+	VERR_ASSOC_ID_LEN	= 11,
Hannes Reinecke 7fc52c
+	VERR_NO_ASSOC		= 12,
Hannes Reinecke 7fc52c
+	VERR_CONN_ID		= 13,
Hannes Reinecke 7fc52c
+	VERR_CONN_ID_LEN	= 14,
Hannes Reinecke 7fc52c
+	VERR_INVAL_CONN		= 15,
Hannes Reinecke 7fc52c
+	VERR_CR_CONN_CMD	= 16,
Hannes Reinecke 7fc52c
+	VERR_CR_CONN_CMD_LEN	= 17,
Hannes Reinecke 7fc52c
+	VERR_DISCONN_LEN	= 18,
Hannes Reinecke 7fc52c
+	VERR_DISCONN_RQST_LEN	= 19,
Hannes Reinecke 7fc52c
+	VERR_DISCONN_CMD	= 20,
Hannes Reinecke 7fc52c
+	VERR_DISCONN_CMD_LEN	= 21,
Hannes Reinecke 7fc52c
+	VERR_DISCONN_SCOPE	= 22,
Hannes Reinecke 7fc52c
+	VERR_RS_LEN		= 23,
Hannes Reinecke 7fc52c
+	VERR_RS_RQST_LEN	= 24,
Hannes Reinecke 7fc52c
+	VERR_RS_CMD		= 25,
Hannes Reinecke 7fc52c
+	VERR_RS_CMD_LEN		= 26,
Hannes Reinecke 7fc52c
+	VERR_RS_RCTL		= 27,
Hannes Reinecke 7fc52c
+	VERR_RS_RO		= 28,
Hannes Reinecke 7fc52c
+	VERR_LSACC		= 29,
Hannes Reinecke 7fc52c
+	VERR_LSDESC_RQST	= 30,
Hannes Reinecke 7fc52c
+	VERR_LSDESC_RQST_LEN	= 31,
Hannes Reinecke 7fc52c
+	VERR_CR_ASSOC		= 32,
Hannes Reinecke 7fc52c
+	VERR_CR_ASSOC_ACC_LEN	= 33,
Hannes Reinecke 7fc52c
+	VERR_CR_CONN		= 34,
Hannes Reinecke 7fc52c
+	VERR_CR_CONN_ACC_LEN	= 35,
Hannes Reinecke 7fc52c
+	VERR_DISCONN		= 36,
Hannes Reinecke 7fc52c
+	VERR_DISCONN_ACC_LEN	= 37,
Hannes Reinecke 7fc52c
+};
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+static char *validation_errors[] = {
Hannes Reinecke 7fc52c
+	"OK",
Hannes Reinecke 7fc52c
+	"Bad CR_ASSOC Length",
Hannes Reinecke 7fc52c
+	"Bad CR_ASSOC Rqst Length",
Hannes Reinecke 7fc52c
+	"Not CR_ASSOC Cmd",
Hannes Reinecke 7fc52c
+	"Bad CR_ASSOC Cmd Length",
Hannes Reinecke 7fc52c
+	"Bad Ersp Ratio",
Hannes Reinecke 7fc52c
+	"Association Allocation Failed",
Hannes Reinecke 7fc52c
+	"Queue Allocation Failed",
Hannes Reinecke 7fc52c
+	"Bad CR_CONN Length",
Hannes Reinecke 7fc52c
+	"Bad CR_CONN Rqst Length",
Hannes Reinecke 7fc52c
+	"Not Association ID",
Hannes Reinecke 7fc52c
+	"Bad Association ID Length",
Hannes Reinecke 7fc52c
+	"No Association",
Hannes Reinecke 7fc52c
+	"Not Connection ID",
Hannes Reinecke 7fc52c
+	"Bad Connection ID Length",
Hannes Reinecke 7fc52c
+	"Invalid Connection ID",
Hannes Reinecke 7fc52c
+	"Not CR_CONN Cmd",
Hannes Reinecke 7fc52c
+	"Bad CR_CONN Cmd Length",
Hannes Reinecke 7fc52c
+	"Bad DISCONN Length",
Hannes Reinecke 7fc52c
+	"Bad DISCONN Rqst Length",
Hannes Reinecke 7fc52c
+	"Not DISCONN Cmd",
Hannes Reinecke 7fc52c
+	"Bad DISCONN Cmd Length",
Hannes Reinecke 7fc52c
+	"Bad Disconnect Scope",
Hannes Reinecke 7fc52c
+	"Bad RS Length",
Hannes Reinecke 7fc52c
+	"Bad RS Rqst Length",
Hannes Reinecke 7fc52c
+	"Not RS Cmd",
Hannes Reinecke 7fc52c
+	"Bad RS Cmd Length",
Hannes Reinecke 7fc52c
+	"Bad RS R_CTL",
Hannes Reinecke 7fc52c
+	"Bad RS Relative Offset",
Hannes Reinecke 7fc52c
+	"Not LS_ACC",
Hannes Reinecke 7fc52c
+	"Not LSDESC_RQST",
Hannes Reinecke 7fc52c
+	"Bad LSDESC_RQST Length",
Hannes Reinecke 7fc52c
+	"Not CR_ASSOC Rqst",
Hannes Reinecke 7fc52c
+	"Bad CR_ASSOC ACC Length",
Hannes Reinecke 7fc52c
+	"Not CR_CONN Rqst",
Hannes Reinecke 7fc52c
+	"Bad CR_CONN ACC Length",
Hannes Reinecke 7fc52c
+	"Not Disconnect Rqst",
Hannes Reinecke 7fc52c
+	"Bad Disconnect ACC Length",
Hannes Reinecke 7fc52c
+};
Hannes Reinecke 7fc52c
+
Hannes Reinecke 7fc52c
+#endif /* _NVME_FC_TRANSPORT_H */
Hannes Reinecke 7fc52c
diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c
Hannes Reinecke 7fc52c
index aac7869a70bb..1f3118a3b0a3 100644
Hannes Reinecke 7fc52c
--- a/drivers/nvme/target/fc.c
Hannes Reinecke 7fc52c
+++ b/drivers/nvme/target/fc.c
Hannes Reinecke 7fc52c
@@ -14,6 +14,7 @@
Hannes Reinecke 7fc52c
 #include "nvmet.h"
Hannes Reinecke 7fc52c
 #include <linux/nvme-fc-driver.h>
Hannes Reinecke 7fc52c
 #include <linux/nvme-fc.h>
Hannes Reinecke 7fc52c
+#include "../host/fc.h"
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
 /* *************************** Data Structures/Defines ****************** */
Hannes Reinecke 7fc52c
@@ -1257,102 +1258,6 @@ EXPORT_SYMBOL_GPL(nvmet_fc_unregister_targetport);
Hannes Reinecke 7fc52c
 /* *********************** FC-NVME LS Handling **************************** */
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
-static void
Hannes Reinecke 7fc52c
-nvmet_fc_format_rsp_hdr(void *buf, u8 ls_cmd, __be32 desc_len, u8 rqst_ls_cmd)
Hannes Reinecke 7fc52c
-{
Hannes Reinecke 7fc52c
-	struct fcnvme_ls_acc_hdr *acc = buf;
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
-	acc->w0.ls_cmd = ls_cmd;
Hannes Reinecke 7fc52c
-	acc->desc_list_len = desc_len;
Hannes Reinecke 7fc52c
-	acc->rqst.desc_tag = cpu_to_be32(FCNVME_LSDESC_RQST);
Hannes Reinecke 7fc52c
-	acc->rqst.desc_len =
Hannes Reinecke 7fc52c
-			fcnvme_lsdesc_len(sizeof(struct fcnvme_lsdesc_rqst));
Hannes Reinecke 7fc52c
-	acc->rqst.w0.ls_cmd = rqst_ls_cmd;
Hannes Reinecke 7fc52c
-}
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
-static int
Hannes Reinecke 7fc52c
-nvmet_fc_format_rjt(void *buf, u16 buflen, u8 ls_cmd,
Hannes Reinecke 7fc52c
-			u8 reason, u8 explanation, u8 vendor)
Hannes Reinecke 7fc52c
-{
Hannes Reinecke 7fc52c
-	struct fcnvme_ls_rjt *rjt = buf;
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
-	nvmet_fc_format_rsp_hdr(buf, FCNVME_LSDESC_RQST,
Hannes Reinecke 7fc52c
-			fcnvme_lsdesc_len(sizeof(struct fcnvme_ls_rjt)),
Hannes Reinecke 7fc52c
-			ls_cmd);
Hannes Reinecke 7fc52c
-	rjt->rjt.desc_tag = cpu_to_be32(FCNVME_LSDESC_RJT);
Hannes Reinecke 7fc52c
-	rjt->rjt.desc_len = fcnvme_lsdesc_len(sizeof(struct fcnvme_lsdesc_rjt));
Hannes Reinecke 7fc52c
-	rjt->rjt.reason_code = reason;
Hannes Reinecke 7fc52c
-	rjt->rjt.reason_explanation = explanation;
Hannes Reinecke 7fc52c
-	rjt->rjt.vendor = vendor;
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
-	return sizeof(struct fcnvme_ls_rjt);
Hannes Reinecke 7fc52c
-}
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
-/* Validation Error indexes into the string table below */
Hannes Reinecke 7fc52c
-enum {
Hannes Reinecke 7fc52c
-	VERR_NO_ERROR		= 0,
Hannes Reinecke 7fc52c
-	VERR_CR_ASSOC_LEN	= 1,
Hannes Reinecke 7fc52c
-	VERR_CR_ASSOC_RQST_LEN	= 2,
Hannes Reinecke 7fc52c
-	VERR_CR_ASSOC_CMD	= 3,
Hannes Reinecke 7fc52c
-	VERR_CR_ASSOC_CMD_LEN	= 4,
Hannes Reinecke 7fc52c
-	VERR_ERSP_RATIO		= 5,
Hannes Reinecke 7fc52c
-	VERR_ASSOC_ALLOC_FAIL	= 6,
Hannes Reinecke 7fc52c
-	VERR_QUEUE_ALLOC_FAIL	= 7,
Hannes Reinecke 7fc52c
-	VERR_CR_CONN_LEN	= 8,
Hannes Reinecke 7fc52c
-	VERR_CR_CONN_RQST_LEN	= 9,
Hannes Reinecke 7fc52c
-	VERR_ASSOC_ID		= 10,
Hannes Reinecke 7fc52c
-	VERR_ASSOC_ID_LEN	= 11,
Hannes Reinecke 7fc52c
-	VERR_NO_ASSOC		= 12,
Hannes Reinecke 7fc52c
-	VERR_CONN_ID		= 13,
Hannes Reinecke 7fc52c
-	VERR_CONN_ID_LEN	= 14,
Hannes Reinecke 7fc52c
-	VERR_NO_CONN		= 15,
Hannes Reinecke 7fc52c
-	VERR_CR_CONN_CMD	= 16,
Hannes Reinecke 7fc52c
-	VERR_CR_CONN_CMD_LEN	= 17,
Hannes Reinecke 7fc52c
-	VERR_DISCONN_LEN	= 18,
Hannes Reinecke 7fc52c
-	VERR_DISCONN_RQST_LEN	= 19,
Hannes Reinecke 7fc52c
-	VERR_DISCONN_CMD	= 20,
Hannes Reinecke 7fc52c
-	VERR_DISCONN_CMD_LEN	= 21,
Hannes Reinecke 7fc52c
-	VERR_DISCONN_SCOPE	= 22,
Hannes Reinecke 7fc52c
-	VERR_RS_LEN		= 23,
Hannes Reinecke 7fc52c
-	VERR_RS_RQST_LEN	= 24,
Hannes Reinecke 7fc52c
-	VERR_RS_CMD		= 25,
Hannes Reinecke 7fc52c
-	VERR_RS_CMD_LEN		= 26,
Hannes Reinecke 7fc52c
-	VERR_RS_RCTL		= 27,
Hannes Reinecke 7fc52c
-	VERR_RS_RO		= 28,
Hannes Reinecke 7fc52c
-};
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
-static char *validation_errors[] = {
Hannes Reinecke 7fc52c
-	"OK",
Hannes Reinecke 7fc52c
-	"Bad CR_ASSOC Length",
Hannes Reinecke 7fc52c
-	"Bad CR_ASSOC Rqst Length",
Hannes Reinecke 7fc52c
-	"Not CR_ASSOC Cmd",
Hannes Reinecke 7fc52c
-	"Bad CR_ASSOC Cmd Length",
Hannes Reinecke 7fc52c
-	"Bad Ersp Ratio",
Hannes Reinecke 7fc52c
-	"Association Allocation Failed",
Hannes Reinecke 7fc52c
-	"Queue Allocation Failed",
Hannes Reinecke 7fc52c
-	"Bad CR_CONN Length",
Hannes Reinecke 7fc52c
-	"Bad CR_CONN Rqst Length",
Hannes Reinecke 7fc52c
-	"Not Association ID",
Hannes Reinecke 7fc52c
-	"Bad Association ID Length",
Hannes Reinecke 7fc52c
-	"No Association",
Hannes Reinecke 7fc52c
-	"Not Connection ID",
Hannes Reinecke 7fc52c
-	"Bad Connection ID Length",
Hannes Reinecke 7fc52c
-	"No Connection",
Hannes Reinecke 7fc52c
-	"Not CR_CONN Cmd",
Hannes Reinecke 7fc52c
-	"Bad CR_CONN Cmd Length",
Hannes Reinecke 7fc52c
-	"Bad DISCONN Length",
Hannes Reinecke 7fc52c
-	"Bad DISCONN Rqst Length",
Hannes Reinecke 7fc52c
-	"Not DISCONN Cmd",
Hannes Reinecke 7fc52c
-	"Bad DISCONN Cmd Length",
Hannes Reinecke 7fc52c
-	"Bad Disconnect Scope",
Hannes Reinecke 7fc52c
-	"Bad RS Length",
Hannes Reinecke 7fc52c
-	"Bad RS Rqst Length",
Hannes Reinecke 7fc52c
-	"Not RS Cmd",
Hannes Reinecke 7fc52c
-	"Bad RS Cmd Length",
Hannes Reinecke 7fc52c
-	"Bad RS R_CTL",
Hannes Reinecke 7fc52c
-	"Bad RS Relative Offset",
Hannes Reinecke 7fc52c
-};
Hannes Reinecke 7fc52c
-
Hannes Reinecke 7fc52c
 static void
Hannes Reinecke 7fc52c
 nvmet_fc_ls_create_association(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 			struct nvmet_fc_ls_iod *iod)
Hannes Reinecke 7fc52c
@@ -1407,7 +1312,7 @@ nvmet_fc_ls_create_association(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 		dev_err(tgtport->dev,
Hannes Reinecke 7fc52c
 			"Create Association LS failed: %s\n",
Hannes Reinecke 7fc52c
 			validation_errors[ret]);
Hannes Reinecke 7fc52c
-		iod->lsrsp->rsplen = nvmet_fc_format_rjt(acc,
Hannes Reinecke 7fc52c
+		iod->lsrsp->rsplen = nvme_fc_format_rjt(acc,
Hannes Reinecke 7fc52c
 				NVME_FC_MAX_LS_BUFFER_SIZE, rqst->w0.ls_cmd,
Hannes Reinecke 7fc52c
 				FCNVME_RJT_RC_LOGIC,
Hannes Reinecke 7fc52c
 				FCNVME_RJT_EXP_NONE, 0);
Hannes Reinecke 7fc52c
@@ -1422,7 +1327,7 @@ nvmet_fc_ls_create_association(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
 	iod->lsrsp->rsplen = sizeof(*acc);
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
-	nvmet_fc_format_rsp_hdr(acc, FCNVME_LS_ACC,
Hannes Reinecke 7fc52c
+	nvme_fc_format_rsp_hdr(acc, FCNVME_LS_ACC,
Hannes Reinecke 7fc52c
 			fcnvme_lsdesc_len(
Hannes Reinecke 7fc52c
 				sizeof(struct fcnvme_ls_cr_assoc_acc)),
Hannes Reinecke 7fc52c
 			FCNVME_LS_CREATE_ASSOCIATION);
Hannes Reinecke 7fc52c
@@ -1498,7 +1403,7 @@ nvmet_fc_ls_create_connection(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 		dev_err(tgtport->dev,
Hannes Reinecke 7fc52c
 			"Create Connection LS failed: %s\n",
Hannes Reinecke 7fc52c
 			validation_errors[ret]);
Hannes Reinecke 7fc52c
-		iod->lsrsp->rsplen = nvmet_fc_format_rjt(acc,
Hannes Reinecke 7fc52c
+		iod->lsrsp->rsplen = nvme_fc_format_rjt(acc,
Hannes Reinecke 7fc52c
 				NVME_FC_MAX_LS_BUFFER_SIZE, rqst->w0.ls_cmd,
Hannes Reinecke 7fc52c
 				(ret == VERR_NO_ASSOC) ?
Hannes Reinecke 7fc52c
 					FCNVME_RJT_RC_INV_ASSOC :
Hannes Reinecke 7fc52c
@@ -1515,7 +1420,7 @@ nvmet_fc_ls_create_connection(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
 	iod->lsrsp->rsplen = sizeof(*acc);
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
-	nvmet_fc_format_rsp_hdr(acc, FCNVME_LS_ACC,
Hannes Reinecke 7fc52c
+	nvme_fc_format_rsp_hdr(acc, FCNVME_LS_ACC,
Hannes Reinecke 7fc52c
 			fcnvme_lsdesc_len(sizeof(struct fcnvme_ls_cr_conn_acc)),
Hannes Reinecke 7fc52c
 			FCNVME_LS_CREATE_CONNECTION);
Hannes Reinecke 7fc52c
 	acc->connectid.desc_tag = cpu_to_be32(FCNVME_LSDESC_CONN_ID);
Hannes Reinecke 7fc52c
@@ -1578,13 +1483,11 @@ nvmet_fc_ls_disconnect(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 		dev_err(tgtport->dev,
Hannes Reinecke 7fc52c
 			"Disconnect LS failed: %s\n",
Hannes Reinecke 7fc52c
 			validation_errors[ret]);
Hannes Reinecke 7fc52c
-		iod->lsrsp->rsplen = nvmet_fc_format_rjt(acc,
Hannes Reinecke 7fc52c
+		iod->lsrsp->rsplen = nvme_fc_format_rjt(acc,
Hannes Reinecke 7fc52c
 				NVME_FC_MAX_LS_BUFFER_SIZE, rqst->w0.ls_cmd,
Hannes Reinecke 7fc52c
 				(ret == VERR_NO_ASSOC) ?
Hannes Reinecke 7fc52c
 					FCNVME_RJT_RC_INV_ASSOC :
Hannes Reinecke 7fc52c
-					(ret == VERR_NO_CONN) ?
Hannes Reinecke 7fc52c
-						FCNVME_RJT_RC_INV_CONN :
Hannes Reinecke 7fc52c
-						FCNVME_RJT_RC_LOGIC,
Hannes Reinecke 7fc52c
+					FCNVME_RJT_RC_LOGIC,
Hannes Reinecke 7fc52c
 				FCNVME_RJT_EXP_NONE, 0);
Hannes Reinecke 7fc52c
 		return;
Hannes Reinecke 7fc52c
 	}
Hannes Reinecke 7fc52c
@@ -1593,7 +1496,7 @@ nvmet_fc_ls_disconnect(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
 	iod->lsrsp->rsplen = sizeof(*acc);
Hannes Reinecke 7fc52c
 
Hannes Reinecke 7fc52c
-	nvmet_fc_format_rsp_hdr(acc, FCNVME_LS_ACC,
Hannes Reinecke 7fc52c
+	nvme_fc_format_rsp_hdr(acc, FCNVME_LS_ACC,
Hannes Reinecke 7fc52c
 			fcnvme_lsdesc_len(
Hannes Reinecke 7fc52c
 				sizeof(struct fcnvme_ls_disconnect_assoc_acc)),
Hannes Reinecke 7fc52c
 			FCNVME_LS_DISCONNECT_ASSOC);
Hannes Reinecke 7fc52c
@@ -1676,7 +1579,7 @@ nvmet_fc_handle_ls_rqst(struct nvmet_fc_tgtport *tgtport,
Hannes Reinecke 7fc52c
 		nvmet_fc_ls_disconnect(tgtport, iod);
Hannes Reinecke 7fc52c
 		break;
Hannes Reinecke 7fc52c
 	default:
Hannes Reinecke 7fc52c
-		iod->lsrsp->rsplen = nvmet_fc_format_rjt(iod->rspbuf,
Hannes Reinecke 7fc52c
+		iod->lsrsp->rsplen = nvme_fc_format_rjt(iod->rspbuf,
Hannes Reinecke 7fc52c
 				NVME_FC_MAX_LS_BUFFER_SIZE, w0->ls_cmd,
Hannes Reinecke 7fc52c
 				FCNVME_RJT_RC_INVAL, FCNVME_RJT_EXP_NONE, 0);
Hannes Reinecke 7fc52c
 	}
Hannes Reinecke 7fc52c
-- 
Hannes Reinecke 7fc52c
2.16.4
Hannes Reinecke 7fc52c