[SCSI] scsi_dh_alua: Fix Erroneous TPG ID check
For Target Portal Group IDs occupying the full 2 bytes in the RTPG response, the following group_id check in the alua_rtpg routine always fails in scsi_dh_alua.c: if (h->group_id == (ucp[2] << 8) + ucp[3]) { This causes the ALUA handler to wrongly identify the AAS of a specified device as well as incorrectly interpreting the supported AAS of the target as seen by the following entries in the /var/log/messages: "alua: port group 3ea state A supports tousna" "alua: port group 3e9 state A supports tousna" This is because 'ucp' is wrongly declared in alua_rtpg as a character pointer instead of an unsigned character pointer. Signed-off-by: Martin George <marting@netapp.com> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
Родитель
6bc8d2a0c6
Коммит
cfde3fa166
|
@ -504,7 +504,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h)
|
|||
{
|
||||
struct scsi_sense_hdr sense_hdr;
|
||||
int len, k, off, valid_states = 0;
|
||||
char *ucp;
|
||||
unsigned char *ucp;
|
||||
unsigned err;
|
||||
unsigned long expiry, interval = 10;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче