From: Hannes Reinecke Subject: Server crashes when path failures occur against EMC storage Reference: bnc#474482 When cable pulls, SP reboots, or other events take place that would interfere with IO running to EMC storage the server crashes trying to resolve the path failure. Proglem is that we're latching on MODE_SELECT when deciding the read/write mode for blk_get_request(). However, for newer arrays we're using MODE_SELECT_10, thus causing a mismatch. Signed-off-by: Hannes Reinecke diff --git a/drivers/scsi/device_handler/scsi_dh_emc.c b/drivers/scsi/device_handler/scsi_dh_emc.c index 436957a..2505237 100644 --- a/drivers/scsi/device_handler/scsi_dh_emc.c +++ b/drivers/scsi/device_handler/scsi_dh_emc.c @@ -272,7 +272,7 @@ static struct request *get_req(struct scsi_device *sdev, int cmd, int len = 0; rq = blk_get_request(sdev->request_queue, - (cmd == MODE_SELECT) ? WRITE : READ, GFP_NOIO); + (cmd != INQUIRY) ? WRITE : READ, GFP_NOIO); if (!rq) { sdev_printk(KERN_INFO, sdev, "get_req: blk_get_request failed"); return NULL;