diff options
author | Hannes Reinecke <hare@suse.de> | 2016-03-03 01:54:11 -0500 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-03-05 17:20:33 -0500 |
commit | 0323375c8bc5c101c9284856cac19a0b9ece71d4 (patch) | |
tree | 67376b5e4d1ff54389446136c9d52e44114524da | |
parent | 1a5dc166cd8843252169f52cb714b324f6d679ef (diff) |
scsi_dh_emc: update 'access_state' field
Update the 'access_state' field of the SCSI device whenever the path
state changes.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/device_handler/scsi_dh_emc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_emc.c b/drivers/scsi/device_handler/scsi_dh_emc.c index e6fb97cb12f4..375d81850f15 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, | |||
199 | csdev->lun_state = csdev->buffer[4]; | 199 | csdev->lun_state = csdev->buffer[4]; |
200 | csdev->current_sp = csdev->buffer[8]; | 200 | csdev->current_sp = csdev->buffer[8]; |
201 | csdev->port = csdev->buffer[7]; | 201 | csdev->port = csdev->buffer[7]; |
202 | 202 | if (csdev->lun_state == CLARIION_LUN_OWNED) | |
203 | sdev->access_state = SCSI_ACCESS_STATE_OPTIMAL; | ||
204 | else | ||
205 | sdev->access_state = SCSI_ACCESS_STATE_STANDBY; | ||
206 | if (csdev->default_sp == csdev->current_sp) | ||
207 | sdev->access_state |= SCSI_ACCESS_STATE_PREFERRED; | ||
203 | out: | 208 | out: |
204 | return err; | 209 | return err; |
205 | } | 210 | } |