]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/suse-2.6.27.31/patches.fixes/scsi-dh-emc-mode-select-10-size
Move xen patchset to new version's subdir.
[ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / scsi-dh-emc-mode-select-10-size
CommitLineData
00e5a55c
BS
1From: Hannes Reinecke <hare@suse.de>
2Subject: DM-MPIO fails to tresspass LUNs on CLARiiON arrays
3References: bnc#484529
4
5When failing active paths on Clariion arrays, the trespass
6command is sent but not process correctly. Reason is that
7we're not formatting the command correctly, and the array
8just silently ignores the error.
9
10Signed-off-by: Hannes Reinecke <hare@suse.de>
11
12diff --git a/drivers/scsi/device_handler/scsi_dh_emc.c b/drivers/scsi/device_handler/scsi_dh_emc.c
13index 2505237..822680e 100644
14--- a/drivers/scsi/device_handler/scsi_dh_emc.c
15+++ b/drivers/scsi/device_handler/scsi_dh_emc.c
16@@ -286,14 +286,17 @@ static struct request *get_req(struct scsi_device *sdev, int cmd,
17 len = sizeof(short_trespass);
18 rq->cmd_flags |= REQ_RW;
19 rq->cmd[1] = 0x10;
20+ rq->cmd[4] = len;
21 break;
22 case MODE_SELECT_10:
23 len = sizeof(long_trespass);
24 rq->cmd_flags |= REQ_RW;
25 rq->cmd[1] = 0x10;
26+ rq->cmd[8] = len;
27 break;
28 case INQUIRY:
29 len = CLARIION_BUFFER_SIZE;
30+ rq->cmd[4] = len;
31 memset(buffer, 0, len);
32 break;
33 default:
34@@ -301,7 +304,6 @@ static struct request *get_req(struct scsi_device *sdev, int cmd,
35 break;
36 }
37
38- rq->cmd[4] = len;
39 rq->cmd_type = REQ_TYPE_BLOCK_PC;
40 rq->cmd_flags |= REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT |
41 REQ_FAILFAST_DRIVER;