Re: [PATCH 10/23] scsi_dh_alua: Pass buffer as function argument
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
Re: [PATCH 10/23] scsi_dh_alua: Pass buffer as function argument
> "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
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, &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 -- 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
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, &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