• Wenchao Hao's avatar
    scsi: scsi_debug: Time out command if the error is injected · 32be8b6e
    Wenchao Hao authored
    If a timeout error is injected, return 0 from scsi_debug_queuecommand to
    make the command time out.
    
    Time out SCSI command format:
    
      +--------+------+-------------------------------------------------------+
      | Column | Type | Description                                           |
      +--------+------+-------------------------------------------------------+
      |   1    |  u8  | Error type, fixed to 0x0                              |
      +--------+------+-------------------------------------------------------+
      |   2    |  s32 | Error count                                           |
      |        |      |  0: this rule will be ignored                         |
      |        |      |  positive: the rule will always take effect           |
      |        |      |  negative: the rule takes effect n times where -n is  |
      |        |      |            the value given. Ignored after n times     |
      +--------+------+-------------------------------------------------------+
      |   3    |  x8  | SCSI command opcode, 0xff for all commands            |
      +--------+------+-------------------------------------------------------+
    
    Examples:
    
        error=/sys/kernel/debug/scsi_debug/0:0:0:1/error
        echo "0 -10 0x12" > ${error}
    
    will make the device's inquiry command time out 10 times.
    
        echo "0 1 0x12" > ${error}
    
    will make the device's inquiry time out each time it is invoked on this
    device.
    Acked-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
    Signed-off-by: default avatarWenchao Hao <haowenchao2@huawei.com>
    Link: https://lore.kernel.org/r/20231010092051.608007-5-haowenchao2@huawei.comSigned-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    32be8b6e
scsi_debug.c 232 KB