Commit d42ae5f3 authored by Hannes Reinecke's avatar Hannes Reinecke Committed by Martin K. Petersen

scsi_dh_alua: Pass buffer as function argument

Pass in the buffer as a function argument for submit_rtpg().
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent e8c61ecc
...@@ -135,12 +135,13 @@ static struct request *get_alua_req(struct scsi_device *sdev, ...@@ -135,12 +135,13 @@ static struct request *get_alua_req(struct scsi_device *sdev,
* submit_rtpg - Issue a REPORT TARGET GROUP STATES command * submit_rtpg - Issue a REPORT TARGET GROUP STATES command
* @sdev: sdev the command should be sent to * @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; struct request *rq;
int err = 0; int err = 0;
rq = get_alua_req(sdev, h->buff, h->bufflen, READ); rq = get_alua_req(sdev, buff, bufflen, READ);
if (!rq) { if (!rq) {
err = DRIVER_BUSY << 24; err = DRIVER_BUSY << 24;
goto done; goto done;
...@@ -148,14 +149,14 @@ static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h) ...@@ -148,14 +149,14 @@ static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
/* Prepare the command. */ /* Prepare the command. */
rq->cmd[0] = MAINTENANCE_IN; 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; rq->cmd[1] = MI_REPORT_TARGET_PGS | MI_EXT_HDR_PARAM_FMT;
else else
rq->cmd[1] = MI_REPORT_TARGET_PGS; 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->cmd_len = COMMAND_SIZE(MAINTENANCE_IN);
rq->sense = h->sense; rq->sense = sense;
memset(rq->sense, 0, SCSI_SENSE_BUFFERSIZE); memset(rq->sense, 0, SCSI_SENSE_BUFFERSIZE);
rq->sense_len = 0; rq->sense_len = 0;
...@@ -446,7 +447,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_ ...@@ -446,7 +447,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); expiry = round_jiffies_up(jiffies + h->transition_tmo * HZ);
retry: retry:
retval = submit_rtpg(sdev, h); retval = submit_rtpg(sdev, h->buff, h->bufflen, h->sense, h->flags);
if (retval) { if (retval) {
if (!scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE, if (!scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE,
&sense_hdr)) { &sense_hdr)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment