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@xxxxxxxxxxx> >> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> >> --- >> 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 hare@xxxxxxx +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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html