• Stefan Haberland's avatar
    s390/dasd: print copy pair message only for the correct error · 856d8e3c
    Stefan Haberland authored
    The DASD driver has certain types of requests that might be rejected by
    the storage server or z/VM because they are not supported. Since the
    missing support of the command is not a real issue there is no user
    visible kernel error message for this.
    
    For copy pair setups  there is a specific error that IO is not allowed on
    secondary devices. This error case is explicitly handled and an error
    message is printed.
    
    The code checking for the error did use a bitwise 'and' that is used to
    check for specific bits. But in this case the whole sense byte has to
    match.
    
    This leads to the problem that the copy pair related error message is
    erroneously printed for other error cases that are usually not reported.
    This might heavily confuse users and lead to follow on actions that might
    disrupt application processing.
    
    Fix by checking the sense byte for the exact value and not single bits.
    
    Cc: stable@vger.kernel.org # 6.1+
    Fixes: 1fca631a ("s390/dasd: suppress generic error messages for PPRC secondary devices")
    Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
    Reviewed-by: default avatarJan Hoeppner <hoeppner@linux.ibm.com>
    Link: https://lore.kernel.org/r/20230721193647.3889634-5-sth@linux.ibm.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
    856d8e3c
dasd_3990_erp.c 71.6 KB