]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blame - src/patches/suse-2.6.27.31/patches.fixes/scsi-dh-emc-rw-mismatch
Move xen patchset to new version's subdir.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / scsi-dh-emc-rw-mismatch
CommitLineData
00e5a55c
BS
1From: Hannes Reinecke <hare@suse.de>
2Subject: Server crashes when path failures occur against EMC storage
3Reference: bnc#474482
4
5When cable pulls, SP reboots, or other events take place that would interfere
6with IO running to EMC storage the server crashes trying to resolve the path
7failure.
8
9Proglem is that we're latching on MODE_SELECT when deciding the
10read/write mode for blk_get_request(). However, for newer arrays
11we're using MODE_SELECT_10, thus causing a mismatch.
12
13Signed-off-by: Hannes Reinecke <hare@suse.de>
14
15diff --git a/drivers/scsi/device_handler/scsi_dh_emc.c b/drivers/scsi/device_handler/scsi_dh_emc.c
16index 436957a..2505237 100644
17--- a/drivers/scsi/device_handler/scsi_dh_emc.c
18+++ b/drivers/scsi/device_handler/scsi_dh_emc.c
19@@ -272,7 +272,7 @@ static struct request *get_req(struct scsi_device *sdev, int cmd,
20 int len = 0;
21
22 rq = blk_get_request(sdev->request_queue,
23- (cmd == MODE_SELECT) ? WRITE : READ, GFP_NOIO);
24+ (cmd != INQUIRY) ? WRITE : READ, GFP_NOIO);
25 if (!rq) {
26 sdev_printk(KERN_INFO, sdev, "get_req: blk_get_request failed");
27 return NULL;