[SCSI] scsi_dh_alua: Attach to UNAVAILABLE/OFFLINE AAS devices
authorMartin George <marting@netapp.com>
Tue, 26 Apr 2011 12:57:05 +0000 (18:27 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 1 May 2011 17:05:40 +0000 (12:05 -0500)
The SCSI ALUA handler currently fails to attach to devices
reporting an UNAVAILABLE/OFFLINE AAS. But given that an
UNAVAILABLE/OFFLINE AAS can transition to other states
like ACTIVE/OPTIMIZED, ACTIVE/NON-OPTIMIZED, etc. as per
SPC4, this ALUA handler behavior should be rectified so
as to attach to devices which also report an
UNAVAILABLE/OFFLINE AAS.

Signed-off-by: Martin George <marting@netapp.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/device_handler/scsi_dh_alua.c

index 42fe529..6fec9fe 100644 (file)
@@ -782,7 +782,7 @@ static int alua_bus_attach(struct scsi_device *sdev)
        h->sdev = sdev;
 
        err = alua_initialize(sdev, h);
-       if (err != SCSI_DH_OK)
+       if ((err != SCSI_DH_OK) && (err != SCSI_DH_DEV_OFFLINED))
                goto failed;
 
        if (!try_module_get(THIS_MODULE))