On 2022-11-09 10:59, Wenchao Hao wrote:
The original error injection mechanism was based on scsi_host which could not inject fault for a single SCSI device. This patchset provides the ability to inject errors for a single SCSI device. Now we supports inject timeout errors, queuecommand errors, and hostbyte, driverbyte, statusbyte, and sense data for specific SCSI Command The first patch add an sysfs interface to add and inquiry single device's error injection info; the second patch defined how to remove an injection which has been added. The following 3 patches use the injection info and generate the related error type. Wenchao Hao (5): scsi:scsi_debug: Add sysfs interface to manager single devices' error inject scsi:scsi_debug: Add interface to remove injection which has been added scsi:scsi_debug: make command timeout if timeout error is injected scsi:scsi_debug: Return failed value for specific command's queuecommand scsi:scsi_debug: fail specific scsi command with result and sense data drivers/scsi/scsi_debug.c | 295 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+)
Hi, This patchset seems to assume all scsi_debug devices will be disk (-like) SCSI devices. That leaves out other device types: tapes, enclosures, WLUNs, etc. Have you considered putting these device specific additions under: /sys/class/scsi_device/<hctl>/device/error_inject/ instead of /sys/block/sdb/device/error_inject/ ? Doug Gilbert