Re: [RFC PATCH 0/5] scsi:scsi_debug:Add error injection for single lun

From: Wenchao Hao
Date: Mon Nov 21 2022 - 09:27:34 EST


On 2022/11/14 5:48, Douglas Gilbert wrote:
> 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
>

Thanks for your reply. I did not notice other device types, but the error_inject interface is
added for scsi_device, so it is available for all types. I would update the path in patch description.

Do you have other suggestions?