• Stefan Haberland's avatar
    s390/dasd: fix IO error for newly defined devices · 5d27a2bf
    Stefan Haberland authored
    When a new CKD storage volume is defined at the storage server, Linux
    may be relying on outdated information about that volume, which leads to
    the following errors:
    
    1. Command Reject Errors for minidisk on z/VM:
    
    dasd-eckd.b3193d: 0.0.XXXX: An error occurred in the DASD device driver,
    		  reason=09
    dasd(eckd): I/O status report for device 0.0.XXXX:
    dasd(eckd): in req: 00000000XXXXXXXX CC:00 FC:04 AC:00 SC:17 DS:02 CS:00
    	    RC:0
    dasd(eckd): device 0.0.2046: Failing CCW: 00000000XXXXXXXX
    dasd(eckd): Sense(hex)  0- 7: 80 00 00 00 00 00 00 00
    dasd(eckd): Sense(hex)  8-15: 00 00 00 00 00 00 00 00
    dasd(eckd): Sense(hex) 16-23: 00 00 00 00 e1 00 0f 00
    dasd(eckd): Sense(hex) 24-31: 00 00 40 e2 00 00 00 00
    dasd(eckd): 24 Byte: 0 MSG 0, no MSGb to SYSOP
    
    2. Equipment Check errors on LPAR or for dedicated devices on z/VM:
    
    dasd(eckd): I/O status report for device 0.0.XXXX:
    dasd(eckd): in req: 00000000XXXXXXXX CC:00 FC:04 AC:00 SC:17 DS:0E CS:40
    	    fcxs:01 schxs:00 RC:0
    dasd(eckd): device 0.0.9713: Failing TCW: 00000000XXXXXXXX
    dasd(eckd): Sense(hex)  0- 7: 10 00 00 00 13 58 4d 0f
    dasd(eckd): Sense(hex)  8-15: 67 00 00 00 00 00 00 04
    dasd(eckd): Sense(hex) 16-23: e5 18 05 33 97 01 0f 0f
    dasd(eckd): Sense(hex) 24-31: 00 00 40 e2 00 04 58 0d
    dasd(eckd): 24 Byte: 0 MSG f, no MSGb to SYSOP
    
    Fix this problem by using the up-to-date information provided during
    online processing via the device specific SNEQ to detect the case of
    outdated LCU data. If there is a difference, perform a re-read of that
    data.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarJan Hoeppner <hoeppner@linux.ibm.com>
    Signed-off-by: default avatarStefan Haberland <sth@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    5d27a2bf
dasd_alias.c 27.1 KB