diff options
author | Joseph Gruher <joseph.r.gruher@intel.com> | 2011-01-05 16:00:20 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2011-01-24 12:11:58 -0500 |
commit | 7c66e9a5e6b0459c619562c5ad321071e2767faa (patch) | |
tree | 6262074d4bad042fe039bf11e84423e9908305e3 /drivers/scsi/device_handler | |
parent | aa023b8b2fc09baeeb27af959ab38a8d684946bf (diff) |
[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>
Diffstat (limited to 'drivers/scsi/device_handler')
-rw-r--r-- | drivers/scsi/device_handler/scsi_dh_alua.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c index 6b729324b8d3..afb1d058edbd 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c | |||
@@ -303,7 +303,6 @@ done: | |||
303 | static unsigned submit_stpg(struct alua_dh_data *h) | 303 | static unsigned submit_stpg(struct alua_dh_data *h) |
304 | { | 304 | { |
305 | struct request *rq; | 305 | struct request *rq; |
306 | int err = SCSI_DH_RES_TEMP_UNAVAIL; | ||
307 | int stpg_len = 8; | 306 | int stpg_len = 8; |
308 | struct scsi_device *sdev = h->sdev; | 307 | struct scsi_device *sdev = h->sdev; |
309 | 308 | ||
@@ -332,7 +331,7 @@ static unsigned submit_stpg(struct alua_dh_data *h) | |||
332 | rq->end_io_data = h; | 331 | rq->end_io_data = h; |
333 | 332 | ||
334 | blk_execute_rq_nowait(rq->q, NULL, rq, 1, stpg_endio); | 333 | blk_execute_rq_nowait(rq->q, NULL, rq, 1, stpg_endio); |
335 | return err; | 334 | return SCSI_DH_OK; |
336 | } | 335 | } |
337 | 336 | ||
338 | /* | 337 | /* |