[SCSI] scsi_dh_alua: fix submit_stpg return
submit_stpg() will always return failure so alua_activate() will report failure via dm-multipath callback function. Even though the stpg fired successfuly dm-multipath does not know and always fails to change the valid path. By returning SCSI_DH_OK we're now skipping alua_activate()'s call to activate_complete 'fn'. But this is fine because stpg_endio() will call it via h->callback_fn(). Signed-off-by: Joseph Gruher <joseph.r.gruher@intel.com> Signed-off-by: Ilgu Hong <ilgu.hong@promise.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
aa023b8b2f
commit
7c66e9a5e6
@ -303,7 +303,6 @@ done:
|
|||||||
static unsigned submit_stpg(struct alua_dh_data *h)
|
static unsigned submit_stpg(struct alua_dh_data *h)
|
||||||
{
|
{
|
||||||
struct request *rq;
|
struct request *rq;
|
||||||
int err = SCSI_DH_RES_TEMP_UNAVAIL;
|
|
||||||
int stpg_len = 8;
|
int stpg_len = 8;
|
||||||
struct scsi_device *sdev = h->sdev;
|
struct scsi_device *sdev = h->sdev;
|
||||||
|
|
||||||
@ -332,7 +331,7 @@ static unsigned submit_stpg(struct alua_dh_data *h)
|
|||||||
rq->end_io_data = h;
|
rq->end_io_data = h;
|
||||||
|
|
||||||
blk_execute_rq_nowait(rq->q, NULL, rq, 1, stpg_endio);
|
blk_execute_rq_nowait(rq->q, NULL, rq, 1, stpg_endio);
|
||||||
return err;
|
return SCSI_DH_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user