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