diff mbox

[10/23] scsi_dh_alua: Pass buffer as function argument

Message ID 1440679281-13234-11-git-send-email-hare@suse.de (mailing list archive)
State New, archived
Headers show

Commit Message

Hannes Reinecke Aug. 27, 2015, 12:41 p.m. UTC
Pass in the buffer as a function argument for submit_rtpg().

Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
 drivers/scsi/device_handler/scsi_dh_alua.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Comments

Christoph Hellwig Sept. 1, 2015, 9:55 a.m. UTC | #1
On Thu, Aug 27, 2015 at 02:41:08PM +0200, Hannes Reinecke wrote:
> Pass in the buffer as a function argument for submit_rtpg().

Looks fine,

Reviewed-by: Christoph Hellwig <hch@lst.de>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Martin K. Petersen Sept. 4, 2015, 3:44 a.m. UTC | #2
>>>>> "Hannes" == Hannes Reinecke <hare@suse.de> writes:

Hannes> Pass in the buffer as a function argument for submit_rtpg().

Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Ewan Milne Sept. 22, 2015, 6:43 p.m. UTC | #3
On Thu, 2015-08-27 at 14:41 +0200, Hannes Reinecke wrote:
> Pass in the buffer as a function argument for submit_rtpg().
> 
> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
>  drivers/scsi/device_handler/scsi_dh_alua.c | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
> index 0636721..9e2b3af 100644
> --- a/drivers/scsi/device_handler/scsi_dh_alua.c
> +++ b/drivers/scsi/device_handler/scsi_dh_alua.c
> @@ -137,12 +137,13 @@ static struct request *get_alua_req(struct scsi_device *sdev,
>   * submit_rtpg - Issue a REPORT TARGET GROUP STATES command
>   * @sdev: sdev the command should be sent to
>   */
> -static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
> +static unsigned submit_rtpg(struct scsi_device *sdev, unsigned char *buff,
> +			    int bufflen, unsigned char *sense, int flags)
>  {
>  	struct request *rq;
>  	int err = 0;
>  
> -	rq = get_alua_req(sdev, h->buff, h->bufflen, READ);
> +	rq = get_alua_req(sdev, buff, bufflen, READ);
>  	if (!rq) {
>  		err = DRIVER_BUSY << 24;
>  		goto done;
> @@ -150,22 +151,21 @@ static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
>  
>  	/* Prepare the command. */
>  	rq->cmd[0] = MAINTENANCE_IN;
> -	if (!(h->flags & ALUA_RTPG_EXT_HDR_UNSUPP))
> +	if (!(flags & ALUA_RTPG_EXT_HDR_UNSUPP))
>  		rq->cmd[1] = MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT;
>  	else
>  		rq->cmd[1] = MI_REPORT_TARGET_PGS;
> -	put_unaligned_be32(h->bufflen, &rq->cmd[6]);
> +	put_unaligned_be32(bufflen, &rq->cmd[6]);
>  	rq->cmd_len = COMMAND_SIZE(MAINTENANCE_IN);
>  
> -	rq->sense = h->sense;
> +	rq->sense = sense;
>  	memset(rq->sense, 0, SCSI_SENSE_BUFFERSIZE);
> -	rq->sense_len = h->senselen = 0;
> +	rq->sense_len = 0;
>  
>  	blk_execute_rq(rq->q, NULL, rq, 1);
> -	if (rq->errors) {
> +	if (rq->errors)
>  		err = rq->errors;
> -		h->senselen = rq->sense_len;
> -	}
> +
>  	blk_put_request(rq);
>  done:
>  	return err;
> @@ -491,7 +491,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_
>  		expiry = round_jiffies_up(jiffies + h->transition_tmo * HZ);
>  
>   retry:
> -	retval = submit_rtpg(sdev, h);
> +	retval = submit_rtpg(sdev, h->buff, h->bufflen, h->sense, h->flags);
>  
>  	if (retval) {
>  		if (!scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE,

This patch also removes the setting of h->senselen, you should mention
that in the patch description.  Or, perhaps the removal of h->senselen
should have been done as part of patch 12/23, which removed the senselen
field (and the sense buffer field) from the alua_dh_data structure.

Reviewed-by: Ewan D. Milne <emilne@redhat.com>


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hannes Reinecke Sept. 24, 2015, 4:37 p.m. UTC | #4
On 09/22/2015 08:43 PM, Ewan Milne wrote:
> On Thu, 2015-08-27 at 14:41 +0200, Hannes Reinecke wrote:
>> Pass in the buffer as a function argument for submit_rtpg().
>>
>> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
>> Signed-off-by: Hannes Reinecke <hare@suse.de>
>> ---
>>  drivers/scsi/device_handler/scsi_dh_alua.c | 20 ++++++++++----------
>>  1 file changed, 10 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
>> index 0636721..9e2b3af 100644
>> --- a/drivers/scsi/device_handler/scsi_dh_alua.c
>> +++ b/drivers/scsi/device_handler/scsi_dh_alua.c
>> @@ -137,12 +137,13 @@ static struct request *get_alua_req(struct scsi_device *sdev,
>>   * submit_rtpg - Issue a REPORT TARGET GROUP STATES command
>>   * @sdev: sdev the command should be sent to
>>   */
>> -static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
>> +static unsigned submit_rtpg(struct scsi_device *sdev, unsigned char *buff,
>> +			    int bufflen, unsigned char *sense, int flags)
>>  {
>>  	struct request *rq;
>>  	int err = 0;
>>  
>> -	rq = get_alua_req(sdev, h->buff, h->bufflen, READ);
>> +	rq = get_alua_req(sdev, buff, bufflen, READ);
>>  	if (!rq) {
>>  		err = DRIVER_BUSY << 24;
>>  		goto done;
>> @@ -150,22 +151,21 @@ static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
>>  
>>  	/* Prepare the command. */
>>  	rq->cmd[0] = MAINTENANCE_IN;
>> -	if (!(h->flags & ALUA_RTPG_EXT_HDR_UNSUPP))
>> +	if (!(flags & ALUA_RTPG_EXT_HDR_UNSUPP))
>>  		rq->cmd[1] = MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT;
>>  	else
>>  		rq->cmd[1] = MI_REPORT_TARGET_PGS;
>> -	put_unaligned_be32(h->bufflen, &rq->cmd[6]);
>> +	put_unaligned_be32(bufflen, &rq->cmd[6]);
>>  	rq->cmd_len = COMMAND_SIZE(MAINTENANCE_IN);
>>  
>> -	rq->sense = h->sense;
>> +	rq->sense = sense;
>>  	memset(rq->sense, 0, SCSI_SENSE_BUFFERSIZE);
>> -	rq->sense_len = h->senselen = 0;
>> +	rq->sense_len = 0;
>>  
>>  	blk_execute_rq(rq->q, NULL, rq, 1);
>> -	if (rq->errors) {
>> +	if (rq->errors)
>>  		err = rq->errors;
>> -		h->senselen = rq->sense_len;
>> -	}
>> +
>>  	blk_put_request(rq);
>>  done:
>>  	return err;
>> @@ -491,7 +491,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_
>>  		expiry = round_jiffies_up(jiffies + h->transition_tmo * HZ);
>>  
>>   retry:
>> -	retval = submit_rtpg(sdev, h);
>> +	retval = submit_rtpg(sdev, h->buff, h->bufflen, h->sense, h->flags);
>>  
>>  	if (retval) {
>>  		if (!scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE,
> 
> This patch also removes the setting of h->senselen, you should mention
> that in the patch description.  Or, perhaps the removal of h->senselen
> should have been done as part of patch 12/23, which removed the senselen
> field (and the sense buffer field) from the alua_dh_data structure.

Is already done with the next version of the patchset.

Cheers,

Hannes
diff mbox

Patch

diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 0636721..9e2b3af 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -137,12 +137,13 @@  static struct request *get_alua_req(struct scsi_device *sdev,
  * submit_rtpg - Issue a REPORT TARGET GROUP STATES command
  * @sdev: sdev the command should be sent to
  */
-static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
+static unsigned submit_rtpg(struct scsi_device *sdev, unsigned char *buff,
+			    int bufflen, unsigned char *sense, int flags)
 {
 	struct request *rq;
 	int err = 0;
 
-	rq = get_alua_req(sdev, h->buff, h->bufflen, READ);
+	rq = get_alua_req(sdev, buff, bufflen, READ);
 	if (!rq) {
 		err = DRIVER_BUSY << 24;
 		goto done;
@@ -150,22 +151,21 @@  static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
 
 	/* Prepare the command. */
 	rq->cmd[0] = MAINTENANCE_IN;
-	if (!(h->flags & ALUA_RTPG_EXT_HDR_UNSUPP))
+	if (!(flags & ALUA_RTPG_EXT_HDR_UNSUPP))
 		rq->cmd[1] = MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT;
 	else
 		rq->cmd[1] = MI_REPORT_TARGET_PGS;
-	put_unaligned_be32(h->bufflen, &rq->cmd[6]);
+	put_unaligned_be32(bufflen, &rq->cmd[6]);
 	rq->cmd_len = COMMAND_SIZE(MAINTENANCE_IN);
 
-	rq->sense = h->sense;
+	rq->sense = sense;
 	memset(rq->sense, 0, SCSI_SENSE_BUFFERSIZE);
-	rq->sense_len = h->senselen = 0;
+	rq->sense_len = 0;
 
 	blk_execute_rq(rq->q, NULL, rq, 1);
-	if (rq->errors) {
+	if (rq->errors)
 		err = rq->errors;
-		h->senselen = rq->sense_len;
-	}
+
 	blk_put_request(rq);
 done:
 	return err;
@@ -491,7 +491,7 @@  static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_
 		expiry = round_jiffies_up(jiffies + h->transition_tmo * HZ);
 
  retry:
-	retval = submit_rtpg(sdev, h);
+	retval = submit_rtpg(sdev, h->buff, h->bufflen, h->sense, h->flags);
 
 	if (retval) {
 		if (!scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE,