]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.31/patches.fixes/scsi-dh-emc-mode-select-10-size
Change qemu to a version that support kvm and kqemu.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / scsi-dh-emc-mode-select-10-size
CommitLineData
2cb7cef9
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;