From: Bart Van Assche <bvanassche@acm.org>
To: "Martin K . Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org, Bart Van Assche <bvanassche@acm.org>,
Johannes Thumshirn <johannes.thumshirn@wdc.com>,
Himanshu Madhani <himanshu.madhani@oracle.com>,
"James E.J. Bottomley" <jejb@linux.ibm.com>,
Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Subject: [PATCH v3 18/48] scsi: csio: Stop using the SCSI pointer
Date: Fri, 11 Feb 2022 14:32:17 -0800 [thread overview]
Message-ID: <20220211223247.14369-19-bvanassche@acm.org> (raw)
In-Reply-To: <20220211223247.14369-1-bvanassche@acm.org>
Set .cmd_size in the SCSI host template instead of using the SCSI pointer
from struct scsi_cmnd. This patch prepares for removal of the SCSI pointer
from struct scsi_cmnd.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
drivers/scsi/csiostor/csio_scsi.c | 20 +++++++++++---------
drivers/scsi/csiostor/csio_scsi.h | 10 ++++++++++
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c
index 55db02521221..9aafe0002ab1 100644
--- a/drivers/scsi/csiostor/csio_scsi.c
+++ b/drivers/scsi/csiostor/csio_scsi.c
@@ -166,7 +166,7 @@ csio_scsi_fcp_cmnd(struct csio_ioreq *req, void *addr)
struct scsi_cmnd *scmnd = csio_scsi_cmnd(req);
/* Check for Task Management */
- if (likely(scmnd->SCp.Message == 0)) {
+ if (likely(csio_priv(scmnd)->fc_tm_flags == 0)) {
int_to_scsilun(scmnd->device->lun, &fcp_cmnd->fc_lun);
fcp_cmnd->fc_tm_flags = 0;
fcp_cmnd->fc_cmdref = 0;
@@ -185,7 +185,7 @@ csio_scsi_fcp_cmnd(struct csio_ioreq *req, void *addr)
} else {
memset(fcp_cmnd, 0, sizeof(*fcp_cmnd));
int_to_scsilun(scmnd->device->lun, &fcp_cmnd->fc_lun);
- fcp_cmnd->fc_tm_flags = (uint8_t)scmnd->SCp.Message;
+ fcp_cmnd->fc_tm_flags = csio_priv(scmnd)->fc_tm_flags;
}
}
@@ -1855,7 +1855,7 @@ csio_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmnd)
/* Needed during abort */
cmnd->host_scribble = (unsigned char *)ioreq;
- cmnd->SCp.Message = 0;
+ csio_priv(cmnd)->fc_tm_flags = 0;
/* Kick off SCSI IO SM on the ioreq */
spin_lock_irqsave(&hw->lock, flags);
@@ -2026,7 +2026,7 @@ csio_tm_cbfn(struct csio_hw *hw, struct csio_ioreq *req)
req, req->wr_status);
/* Cache FW return status */
- cmnd->SCp.Status = req->wr_status;
+ csio_priv(cmnd)->wr_status = req->wr_status;
/* Special handling based on FCP response */
@@ -2049,7 +2049,7 @@ csio_tm_cbfn(struct csio_hw *hw, struct csio_ioreq *req)
/* Modify return status if flags indicate success */
if (flags & FCP_RSP_LEN_VAL)
if (rsp_info->rsp_code == FCP_TMF_CMPL)
- cmnd->SCp.Status = FW_SUCCESS;
+ csio_priv(cmnd)->wr_status = FW_SUCCESS;
csio_dbg(hw, "TM FCP rsp code: %d\n", rsp_info->rsp_code);
}
@@ -2125,9 +2125,9 @@ csio_eh_lun_reset_handler(struct scsi_cmnd *cmnd)
csio_scsi_cmnd(ioreq) = cmnd;
cmnd->host_scribble = (unsigned char *)ioreq;
- cmnd->SCp.Status = 0;
+ csio_priv(cmnd)->wr_status = 0;
- cmnd->SCp.Message = FCP_TMF_LUN_RESET;
+ csio_priv(cmnd)->fc_tm_flags = FCP_TMF_LUN_RESET;
ioreq->tmo = CSIO_SCSI_LUNRST_TMO_MS / 1000;
/*
@@ -2178,9 +2178,10 @@ csio_eh_lun_reset_handler(struct scsi_cmnd *cmnd)
}
/* LUN reset returned, check cached status */
- if (cmnd->SCp.Status != FW_SUCCESS) {
+ if (csio_priv(cmnd)->wr_status != FW_SUCCESS) {
csio_err(hw, "LUN reset failed (%d:%llu), status: %d\n",
- cmnd->device->id, cmnd->device->lun, cmnd->SCp.Status);
+ cmnd->device->id, cmnd->device->lun,
+ csio_priv(cmnd)->wr_status);
goto fail;
}
@@ -2271,6 +2272,7 @@ struct scsi_host_template csio_fcoe_shost_template = {
.name = CSIO_DRV_DESC,
.proc_name = KBUILD_MODNAME,
.queuecommand = csio_queuecommand,
+ .cmd_size = sizeof(struct csio_cmd_priv),
.eh_timed_out = fc_eh_timed_out,
.eh_abort_handler = csio_eh_abort_handler,
.eh_device_reset_handler = csio_eh_lun_reset_handler,
diff --git a/drivers/scsi/csiostor/csio_scsi.h b/drivers/scsi/csiostor/csio_scsi.h
index 2257c3dcf724..39dda3c88f0d 100644
--- a/drivers/scsi/csiostor/csio_scsi.h
+++ b/drivers/scsi/csiostor/csio_scsi.h
@@ -188,6 +188,16 @@ struct csio_scsi_level_data {
uint64_t oslun;
};
+struct csio_cmd_priv {
+ uint8_t fc_tm_flags; /* task management flags */
+ uint16_t wr_status;
+};
+
+static inline struct csio_cmd_priv *csio_priv(struct scsi_cmnd *cmd)
+{
+ return scsi_cmd_priv(cmd);
+}
+
static inline struct csio_ioreq *
csio_get_scsi_ioreq(struct csio_scsim *scm)
{
next prev parent reply other threads:[~2022-02-11 22:33 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-11 22:31 [PATCH v3 00/48] Remove the SCSI pointer from struct scsi_cmnd Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 01/48] scsi: ips: Remove an unreachable statement Bart Van Assche
2022-02-14 9:40 ` Hannes Reinecke
2022-02-14 19:59 ` Himanshu Madhani
2022-02-11 22:32 ` [PATCH v3 02/48] scsi: ips: Change the return type of ips_release() into 'void' Bart Van Assche
2022-02-14 9:43 ` Hannes Reinecke
2022-02-15 1:33 ` Bart Van Assche
2022-02-14 20:01 ` Himanshu Madhani
2022-02-11 22:32 ` [PATCH v3 03/48] scsi: ips: Use true and false instead of TRUE and FALSE Bart Van Assche
2022-02-14 9:43 ` Hannes Reinecke
2022-02-14 20:02 ` Himanshu Madhani
2022-02-11 22:32 ` [PATCH v3 04/48] scsi: nsp_cs: Change the return type of two functions into 'void' Bart Van Assche
2022-02-14 9:44 ` Hannes Reinecke
2022-02-14 20:04 ` Himanshu Madhani
2022-02-11 22:32 ` [PATCH v3 05/48] scsi: nsp_cs: Use true and false instead of TRUE and FALSE Bart Van Assche
2022-02-14 9:44 ` Hannes Reinecke
2022-02-14 20:05 ` Himanshu Madhani
2022-02-11 22:32 ` [PATCH v3 06/48] scsi: Remove drivers/scsi/scsi.h Bart Van Assche
2022-02-14 9:45 ` Hannes Reinecke
2022-02-11 22:32 ` [PATCH v3 07/48] scsi: NCR5380: Remove the NCR5380_CMD_SIZE macro Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 08/48] scsi: NCR5380: Introduce the NCR5380_cmd_priv() function Bart Van Assche
2022-02-14 9:46 ` Hannes Reinecke
2022-02-14 20:09 ` Himanshu Madhani
2022-02-11 22:32 ` [PATCH v3 09/48] scsi: NCR5380: Move the SCSI pointer to private command data Bart Van Assche
2022-02-14 9:47 ` Hannes Reinecke
2022-02-11 22:32 ` [PATCH v3 10/48] scsi: arm: Rename arm/scsi.h into arm/arm_scsi.h Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 11/48] scsi: arm: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 12/48] scsi: 53c700: Stop clearing SCSI pointer fields Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 13/48] scsi: aacraid: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 14/48] scsi: advansys: " Bart Van Assche
2022-02-14 9:54 ` Hannes Reinecke
2022-02-11 22:32 ` [PATCH v3 15/48] scsi: aha1542: Remove a set-but-not-used array Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 16/48] scsi: aha152x: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 17/48] scsi: bfa: Stop using the SCSI pointer Bart Van Assche
2022-02-11 22:32 ` Bart Van Assche [this message]
2022-02-11 22:32 ` [PATCH v3 19/48] scsi: dc395x: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 20/48] scsi: esp_scsi: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 21/48] scsi: fdomain: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 22/48] scsi: fnic: Fix a tracing statement Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 23/48] scsi: fnic: Stop using the SCSI pointer Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 24/48] scsi: hptiop: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 25/48] scsi: imm: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 26/48] scsi: iscsi: Stop using the SCSI pointer Bart Van Assche
2022-02-13 22:12 ` Lee Duncan
2022-02-14 9:57 ` Hannes Reinecke
2022-02-14 20:12 ` Himanshu Madhani
2022-02-11 22:32 ` [PATCH v3 27/48] scsi: initio: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 28/48] scsi: libfc: " Bart Van Assche
2022-02-14 11:55 ` Hannes Reinecke
2022-02-15 3:00 ` Bart Van Assche
2022-02-15 7:02 ` Hannes Reinecke
2022-02-16 20:09 ` Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 29/48] scsi: mac53c94: Fix a set-but-not-used compiler warning Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 30/48] scsi: mac53c94: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 31/48] scsi: megaraid: Stop using the SCSI pointer Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 32/48] scsi: megasas: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 33/48] scsi: mesh: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 34/48] scsi: mvsas: Fix a set-but-not-used warning Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 35/48] scsi: mvumi: Stop using the SCSI pointer Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 36/48] scsi: nsp32: " Bart Van Assche
2022-02-14 4:02 ` Masanori Goto
2022-02-11 22:32 ` [PATCH v3 37/48] scsi: nsp_cs: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 38/48] scsi: sym53c500_cs: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 39/48] scsi: ppa: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 40/48] scsi: qla1280: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 41/48] scsi: qla2xxx: Stop using the SCSI pointer Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 42/48] scsi: smartpqi: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 43/48] scsi: sym53c8xx_2: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 44/48] scsi: usb: Stop using the SCSI pointer Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 45/48] scsi: wd719x: " Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 46/48] scsi: wd33c93: Move the SCSI pointer to private command data Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 47/48] scsi: zalon: Stop using the SCSI pointer Bart Van Assche
2022-02-11 22:32 ` [PATCH v3 48/48] scsi: core: Remove struct scsi_pointer from struct scsi_cmnd Bart Van Assche
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220211223247.14369-19-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=himanshu.madhani@oracle.com \
--cc=jejb@linux.ibm.com \
--cc=jiapeng.chong@linux.alibaba.com \
--cc=johannes.thumshirn@wdc.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox