scsi_dh_alua: Pass buffer as function argument
Pass in the buffer as a function argument for submit_rtpg(). Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
e8c61ecc1b
Коммит
d42ae5f338
|
@ -135,12 +135,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;
|
||||
|
@ -148,14 +149,14 @@ 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 = 0;
|
||||
|
||||
|
@ -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);
|
||||
|
||||
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,
|
||||
&sense_hdr)) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче