OSDN Git Service

[SCSI] scsi_dh_alua: fix submit_stpg return
authorJoseph Gruher <joseph.r.gruher@intel.com>
Wed, 5 Jan 2011 21:00:20 +0000 (16:00 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Mon, 24 Jan 2011 17:11:58 +0000 (11:11 -0600)
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>
drivers/scsi/device_handler/scsi_dh_alua.c

index 6b72932..afb1d05 100644 (file)
@@ -303,7 +303,6 @@ done:
 static unsigned submit_stpg(struct alua_dh_data *h)
 {
        struct request *rq;
-       int err = SCSI_DH_RES_TEMP_UNAVAIL;
        int stpg_len = 8;
        struct scsi_device *sdev = h->sdev;
 
@@ -332,7 +331,7 @@ static unsigned submit_stpg(struct alua_dh_data *h)
        rq->end_io_data = h;
 
        blk_execute_rq_nowait(rq->q, NULL, rq, 1, stpg_endio);
-       return err;
+       return SCSI_DH_OK;
 }
 
 /*