Subject: [SRU][PATCH][Ubuntu-lts-4.4.0-86.109~14.04.1] SRU: <LP1720228/scsi_dh_alua.patch>
Dragan Stancevic
dragan.stancevic at canonical.com
Wed Oct 11 21:20:10 UTC 2017
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1720228
SRU Justification:
Impact:
User reports excessive ALUA messages on Ubuntu Trusty, kernel
Ubuntu-lts-4.4.0-91.114_14.04.1
Messages appear after a LUN disappears and there are hundreds of them
flooding the log...
[263095.795873] sd 3:0:0:129: alua: rtpg retry
[263095.795874] sd 3:0:0:129: [alua] Sense Key : Illegal Request [current]
[263095.795876] sd 3:0:0:129: [alua] Add. Sense: Logical unit not supported
This causes an intense requeing of the ALUA work queue for 60 seconds and
it floods the kernel log
Fix:
UBUNTU: scsi: fixe excessive ALUA (LP: #1720228)
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1720228
The err value was initialized to 0 to prevent random assignment
the fix is a cherry-pick from linus tree
a4bd85203190990ad808abbd4a5dc848a950002c
Testcase:
User reports issue when a network iscsi disk gets disconnected.
commit a4bd85203190990ad808abbd4a5dc848a950002c
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date: Thu Apr 14 21:20:34 2016 +0300
scsi_dh_alua: uninitialized variable in alua_rtpg()
It's possible to use "err" without initializing it. If it happens to be
a 2 which is SCSI_DH_RETRY then that could cause a bug. Bart Van Assche
pointed out that we should probably re-initialize it for every iteration
through the retry loop.
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Reviewed-by: Hannes Reinicke <hare at suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
Signed-off-by: James Bottomley <jejb at linux.vnet.ibm.com>
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c
b/drivers/scsi/device_handler/scsi_dh_alua.c
index 8eaed05..a655cf2 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -532,6 +532,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct
alua_port_group *pg)
return SCSI_DH_DEV_TEMP_BUSY;
retry:
+ err = 0;
retval = submit_rtpg(sdev, buff, bufflen, &sense_hdr, pg->flags);
if (retval) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20171011/9c27cdd6/attachment.html>
More information about the kernel-team
mailing list