Update the 'access_state' field of the SCSI device whenever
the path state changes.

Reviewed-by: Christoph Hellwig <h...@lst.de>
Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 drivers/scsi/device_handler/scsi_dh_emc.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/device_handler/scsi_dh_emc.c 
b/drivers/scsi/device_handler/scsi_dh_emc.c
index e6fb97c..375d818 100644
--- a/drivers/scsi/device_handler/scsi_dh_emc.c
+++ b/drivers/scsi/device_handler/scsi_dh_emc.c
@@ -199,7 +199,12 @@ static int parse_sp_info_reply(struct scsi_device *sdev,
        csdev->lun_state = csdev->buffer[4];
        csdev->current_sp = csdev->buffer[8];
        csdev->port = csdev->buffer[7];
-
+       if (csdev->lun_state == CLARIION_LUN_OWNED)
+               sdev->access_state = SCSI_ACCESS_STATE_OPTIMAL;
+       else
+               sdev->access_state = SCSI_ACCESS_STATE_STANDBY;
+       if (csdev->default_sp == csdev->current_sp)
+               sdev->access_state |= SCSI_ACCESS_STATE_PREFERRED;
 out:
        return err;
 }
-- 
1.8.5.6

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to