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.vanass...@sandisk.com>
>> Signed-off-by: Hannes Reinecke <h...@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
-- 
Dr. Hannes Reinecke                   zSeries & Storage
h...@suse.de                          +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to