Message ID | 20230428013320.347050-1-haowenchao2@huawei.com |
---|---|
Headers | show |
Series | scsi:scsi_debug: Add error injection for single device | expand |
On 2023-04-27 21:33, 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 two patch add an debugfs interface to add and inquiry single > device's error injection info; the third 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. > > V2: > - Using debugfs rather than sysfs attribute interface to manage error > > Wenchao Hao (6): > scsi:scsi_debug: create scsi_debug directory in the debugfs filesystem > scsi:scsi_debug: Add interface to manage single device's error inject > scsi:scsi_debug: Define grammar to remove added error injection > scsi:scsi_debug: timeout command if the error is injected > scsi:scsi_debug: Return failed value if the error is injected > scsi:scsi_debug: set command's result and sense data if the error is > injected > > drivers/scsi/scsi_debug.c | 318 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 318 insertions(+) Been playing around with this patchset and it seems to work as expected. Took me a while to work my way through interface description at the beginning of [PATCH v2 2/6] scsi:scsi_debug: Add interface to manage single device's error inject so I cut and paste it into my scsi_debug.html page and did some work on it, see: https://doug-gilbert.github.io/scsi_debug.html There is a new chapter titled: Per device error injection Kept the ASCII art so it could be ported back to [PATCH v2 2/6]'s description if Wenchao is agreeable. So for the whole series: Acked-by: Douglas Gilbert <dgilbert@interlog.com> One suggestion for later work: perhaps the Command opcode field could be expanded to: x8[,x16] so optionally a Service Action (in hex) could be given (e.g. '9e,10' for the READ CAPACITY (16) command). Doug Gilbert