public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
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>,
	Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de>,
	Ming Lei <ming.lei@redhat.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>
Subject: [PATCH v2 03/50] sd: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
Date: Tue, 18 May 2021 10:44:03 -0700	[thread overview]
Message-ID: <20210518174450.20664-4-bvanassche@acm.org> (raw)
In-Reply-To: <20210518174450.20664-1-bvanassche@acm.org>

Prepare for removal of the request pointer by using scsi_cmd_to_rq()
instead. This patch does not change any functionality.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/scsi/sd.c     | 33 +++++++++++++++++----------------
 drivers/scsi/sd_zbc.c | 10 +++++-----
 2 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index cb3c37d1e009..cb7f8a343b67 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -779,8 +779,9 @@ static unsigned int sd_prot_flag_mask(unsigned int prot_op)
 static unsigned char sd_setup_protect_cmnd(struct scsi_cmnd *scmd,
 					   unsigned int dix, unsigned int dif)
 {
-	struct bio *bio = scmd->request->bio;
-	unsigned int prot_op = sd_prot_op(rq_data_dir(scmd->request), dix, dif);
+	struct request *rq = scsi_cmd_to_rq(scmd);
+	struct bio *bio = rq->bio;
+	unsigned int prot_op = sd_prot_op(rq_data_dir(rq), dix, dif);
 	unsigned int protect = 0;
 
 	if (dix) {				/* DIX Type 0, 1, 2, 3 */
@@ -871,7 +872,7 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
 static blk_status_t sd_setup_unmap_cmnd(struct scsi_cmnd *cmd)
 {
 	struct scsi_device *sdp = cmd->device;
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq));
 	u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq));
@@ -907,7 +908,7 @@ static blk_status_t sd_setup_write_same16_cmnd(struct scsi_cmnd *cmd,
 		bool unmap)
 {
 	struct scsi_device *sdp = cmd->device;
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq));
 	u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq));
@@ -939,7 +940,7 @@ static blk_status_t sd_setup_write_same10_cmnd(struct scsi_cmnd *cmd,
 		bool unmap)
 {
 	struct scsi_device *sdp = cmd->device;
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq));
 	u32 nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq));
@@ -969,7 +970,7 @@ static blk_status_t sd_setup_write_same10_cmnd(struct scsi_cmnd *cmd,
 
 static blk_status_t sd_setup_write_zeroes_cmnd(struct scsi_cmnd *cmd)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_device *sdp = cmd->device;
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	u64 lba = sectors_to_logical(sdp, blk_rq_pos(rq));
@@ -1066,7 +1067,7 @@ static void sd_config_write_same(struct scsi_disk *sdkp)
  **/
 static blk_status_t sd_setup_write_same_cmnd(struct scsi_cmnd *cmd)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_device *sdp = cmd->device;
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	struct bio *bio = rq->bio;
@@ -1115,7 +1116,7 @@ static blk_status_t sd_setup_write_same_cmnd(struct scsi_cmnd *cmd)
 
 static blk_status_t sd_setup_flush_cmnd(struct scsi_cmnd *cmd)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 
 	/* flush requests don't perform I/O, zero the S/G table */
@@ -1213,7 +1214,7 @@ static blk_status_t sd_setup_rw6_cmnd(struct scsi_cmnd *cmd, bool write,
 
 static blk_status_t sd_setup_read_write_cmnd(struct scsi_cmnd *cmd)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_device *sdp = cmd->device;
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	sector_t lba = sectors_to_logical(sdp, blk_rq_pos(rq));
@@ -1327,7 +1328,7 @@ static blk_status_t sd_setup_read_write_cmnd(struct scsi_cmnd *cmd)
 
 static blk_status_t sd_init_command(struct scsi_cmnd *cmd)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 
 	switch (req_op(rq)) {
 	case REQ_OP_DISCARD:
@@ -1373,7 +1374,7 @@ static blk_status_t sd_init_command(struct scsi_cmnd *cmd)
 
 static void sd_uninit_command(struct scsi_cmnd *SCpnt)
 {
-	struct request *rq = SCpnt->request;
+	struct request *rq = scsi_cmd_to_rq(SCpnt);
 	u8 *cmnd;
 
 	if (rq->rq_flags & RQF_SPECIAL_PAYLOAD)
@@ -1906,7 +1907,7 @@ static const struct block_device_operations sd_fops = {
  **/
 static void sd_eh_reset(struct scsi_cmnd *scmd)
 {
-	struct scsi_disk *sdkp = scsi_disk(scmd->request->rq_disk);
+	struct scsi_disk *sdkp = scsi_disk(scsi_cmd_to_rq(scmd)->rq_disk);
 
 	/* New SCSI EH run, reset gate variable */
 	sdkp->ignore_medium_access_errors = false;
@@ -1926,7 +1927,7 @@ static void sd_eh_reset(struct scsi_cmnd *scmd)
  **/
 static int sd_eh_action(struct scsi_cmnd *scmd, int eh_disp)
 {
-	struct scsi_disk *sdkp = scsi_disk(scmd->request->rq_disk);
+	struct scsi_disk *sdkp = scsi_disk(scsi_cmd_to_rq(scmd)->rq_disk);
 	struct scsi_device *sdev = scmd->device;
 
 	if (!scsi_device_online(sdev) ||
@@ -1967,7 +1968,7 @@ static int sd_eh_action(struct scsi_cmnd *scmd, int eh_disp)
 
 static unsigned int sd_completed_bytes(struct scsi_cmnd *scmd)
 {
-	struct request *req = scmd->request;
+	struct request *req = scsi_cmd_to_rq(scmd);
 	struct scsi_device *sdev = scmd->device;
 	unsigned int transferred, good_bytes;
 	u64 start_lba, end_lba, bad_lba;
@@ -2022,8 +2023,8 @@ static int sd_done(struct scsi_cmnd *SCpnt)
 	unsigned int sector_size = SCpnt->device->sector_size;
 	unsigned int resid;
 	struct scsi_sense_hdr sshdr;
-	struct scsi_disk *sdkp = scsi_disk(SCpnt->request->rq_disk);
-	struct request *req = SCpnt->request;
+	struct request *req = scsi_cmd_to_rq(SCpnt);
+	struct scsi_disk *sdkp = scsi_disk(req->rq_disk);
 	int sense_valid = 0;
 	int sense_deferred = 0;
 
diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c
index e45d8d94574c..d2afaa11e2ee 100644
--- a/drivers/scsi/sd_zbc.c
+++ b/drivers/scsi/sd_zbc.c
@@ -244,7 +244,7 @@ int sd_zbc_report_zones(struct gendisk *disk, sector_t sector,
 
 static blk_status_t sd_zbc_cmnd_checks(struct scsi_cmnd *cmd)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	sector_t sector = blk_rq_pos(rq);
 
@@ -322,7 +322,7 @@ static void sd_zbc_update_wp_offset_workfn(struct work_struct *work)
 blk_status_t sd_zbc_prepare_zone_append(struct scsi_cmnd *cmd, sector_t *lba,
 					unsigned int nr_blocks)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	unsigned int wp_offset, zno = blk_rq_zone_no(rq);
 	unsigned long flags;
@@ -387,7 +387,7 @@ blk_status_t sd_zbc_prepare_zone_append(struct scsi_cmnd *cmd, sector_t *lba,
 blk_status_t sd_zbc_setup_zone_mgmt_cmnd(struct scsi_cmnd *cmd,
 					 unsigned char op, bool all)
 {
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	sector_t sector = blk_rq_pos(rq);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	sector_t block = sectors_to_logical(sdkp->device, sector);
@@ -443,7 +443,7 @@ static unsigned int sd_zbc_zone_wp_update(struct scsi_cmnd *cmd,
 					  unsigned int good_bytes)
 {
 	int result = cmd->result;
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 	struct scsi_disk *sdkp = scsi_disk(rq->rq_disk);
 	unsigned int zno = blk_rq_zone_no(rq);
 	enum req_opf op = req_op(rq);
@@ -517,7 +517,7 @@ unsigned int sd_zbc_complete(struct scsi_cmnd *cmd, unsigned int good_bytes,
 		     struct scsi_sense_hdr *sshdr)
 {
 	int result = cmd->result;
-	struct request *rq = cmd->request;
+	struct request *rq = scsi_cmd_to_rq(cmd);
 
 	if (op_is_zone_mgmt(req_op(rq)) &&
 	    result &&

  parent reply	other threads:[~2021-05-18 17:45 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-18 17:44 [PATCH v2 00/50] Remove the request pointer from struct scsi_cmnd Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 01/50] core: Introduce the scsi_cmd_to_rq() function Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 02/50] core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request Bart Van Assche
2021-05-18 20:01   ` Douglas Gilbert
2021-05-18 21:59     ` Bart Van Assche
2021-05-18 17:44 ` Bart Van Assche [this message]
2021-05-18 17:44 ` [PATCH v2 04/50] sr: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 05/50] scsi_transport_fc: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 06/50] scsi_transport_spi: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 07/50] ata: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 08/50] RDMA/iser: " Bart Van Assche
2021-05-18 17:58   ` Sagi Grimberg
2021-05-18 17:44 ` [PATCH v2 09/50] RDMA/srp: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 10/50] zfcp: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 11/50] 53c700: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 12/50] NCR5380: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 13/50] aacraid: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 14/50] advansys: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 15/50] bnx2i: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 16/50] csiostor: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 17/50] cxlflash: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 18/50] dpt_i2o: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 19/50] fnic: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 20/50] hisi_sas: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 21/50] hpsa: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 22/50] ibmvfc: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 23/50] ibmvscsi: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 24/50] ips: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 25/50] libsas: " Bart Van Assche
2021-05-19 10:12   ` John Garry
2021-05-18 17:44 ` [PATCH v2 26/50] lpfc: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 27/50] megaraid: " Bart Van Assche
2021-05-19  7:43   ` Sumit Saxena
2021-05-18 17:44 ` [PATCH v2 28/50] mpt3sas: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 29/50] mvumi: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 30/50] myrb: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 31/50] myrs: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 32/50] ncr53c8xx: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 33/50] qedf: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 34/50] qedi: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 35/50] qla1280: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 36/50] qla2xxx: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 37/50] qla4xxx: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 38/50] qlogicpti: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 39/50] scsi_debug: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 40/50] smartpqi: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 41/50] snic: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 42/50] stex: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 43/50] sun3_scsi: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 44/50] sym53c8xx: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 45/50] ufs: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 46/50] virtio_scsi: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 47/50] xen-scsifront: " Bart Van Assche
2021-05-19  9:20   ` Juergen Gross
2021-05-18 17:44 ` [PATCH v2 48/50] tcm_loop: " Bart Van Assche
2021-05-19 18:14   ` Bodo Stroesser
2021-05-18 17:44 ` [PATCH v2 49/50] usb-storage: " Bart Van Assche
2021-05-18 17:44 ` [PATCH v2 50/50] core: Remove the request member from struct scsi_cmnd Bart Van Assche
2021-05-18 17:55 ` [PATCH v2 00/50] Remove the request pointer " James Bottomley
2021-05-18 21:21   ` 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=20210518174450.20664-4-bvanassche@acm.org \
    --to=bvanassche@acm.org \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jejb@linux.ibm.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=ming.lei@redhat.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