• Roland Dreier's avatar
    target: Set additional sense length field in sense data · 895f3022
    Roland Dreier authored
    The target code was not setting the additional sense length field in the
    sense data it returned, which meant that at least the Linux stack
    ignored the ASC/ASCQ fields.  For example, without this patch, on a
    tcm_loop device:
    
        # sg_raw -v /dev/sda 2 0 0 0 0 0
    
    gives
    
            cdb to send: 02 00 00 00 00 00
        SCSI Status: Check Condition
    
        Sense Information:
         Fixed format, current;  Sense key: Illegal Request
          Raw sense data (in hex):
                70 00 05 00 00 00 00 00
    
    while after the patch we correctly get the following (which matches what
    a regular disk returns):
    
            cdb to send: 02 00 00 00 00 00
        SCSI Status: Check Condition
    
        Sense Information:
         Fixed format, current;  Sense key: Illegal Request
         Additional sense: Invalid command operation code
         Raw sense data (in hex):
                70 00 05 00 00 00 00 0a  00 00 00 00 20 00 00 00
                00 00
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    Cc: stable@kernel.org
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    895f3022
target_core_transport.c 130 KB