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

2015-09-24 Thread Hannes Reinecke
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 
>> Signed-off-by: Hannes Reinecke 
>> ---
>>  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, >cmd[6]);
>> +put_unaligned_be32(bufflen, >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


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

2015-09-22 Thread Ewan Milne
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 
> Signed-off-by: Hannes Reinecke 
> ---
>  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, >cmd[6]);
> + put_unaligned_be32(bufflen, >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 


--
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


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

2015-09-03 Thread Martin K. Petersen
> "Hannes" == Hannes Reinecke  writes:

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

Reviewed-by: Martin K. Petersen 

-- 
Martin K. Petersen  Oracle Linux Engineering
--
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


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

2015-09-01 Thread Christoph Hellwig
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 
--
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


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

2015-08-27 Thread Hannes Reinecke
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,
-- 
1.8.5.6

--
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