Re: [PATCH 09/19] sd, sr: Convert two assignments into warning statements

2017-08-24 Thread Christoph Hellwig
On Wed, Aug 23, 2017 at 02:39:59PM -0700, Bart Van Assche wrote:
> Before scsi_prep_fn() calls the ULP .init_command() callback
> function it stores the SCSI command pointer in request.special.
> This means that the SCpnt = rq->special assignments in the sd
> and sr drivers assign a pointer to itself. Hence convert these
> two assignment statements into warning statements.

Looks good.

Reviewed-by: Christoph Hellwig 

Btw, in the longer run we should aim to kill the special pointer
in struct request entirely.


[PATCH 09/19] sd, sr: Convert two assignments into warning statements

2017-08-23 Thread Bart Van Assche
Before scsi_prep_fn() calls the ULP .init_command() callback
function it stores the SCSI command pointer in request.special.
This means that the SCpnt = rq->special assignments in the sd
and sr drivers assign a pointer to itself. Hence convert these
two assignment statements into warning statements.

Signed-off-by: Bart Van Assche 
Reviewed-by: Hannes Reinecke 
Reviewed-by: Johannes Thumshirn 
Cc: Christoph Hellwig 
---
 drivers/scsi/sd.c | 2 +-
 drivers/scsi/sr.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index bea36adeee17..a88639fbedb3 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1013,7 +1013,7 @@ static int sd_setup_read_write_cmnd(struct scsi_cmnd 
*SCpnt)
ret = scsi_init_io(SCpnt);
if (ret != BLKPREP_OK)
goto out;
-   SCpnt = rq->special;
+   WARN_ON_ONCE(SCpnt != rq->special);
 
/* from here on until we're complete, any goto out
 * is used for a killable error condition */
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index a8f630213a1a..9be34d37c356 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -393,7 +393,7 @@ static int sr_init_command(struct scsi_cmnd *SCpnt)
ret = scsi_init_io(SCpnt);
if (ret != BLKPREP_OK)
goto out;
-   SCpnt = rq->special;
+   WARN_ON_ONCE(SCpnt != rq->special);
cd = scsi_cd(rq->rq_disk);
 
/* from here on until we're complete, any goto out
-- 
2.14.0