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

From: Damien Le Moal
Date: Sun Nov 13 2022 - 19:31:16 EST


On 11/14/22 06: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/

But these are the same, no ?
At least on my Fedora box, I see:

/sys/block/sdp/device/ being
/sys/devices/pseudo_0/adapter0/host19/target19:0:0/19:0:0:0

and /sys/class/scsi_device/19:0:0:0/device being
/sys/devices/pseudo_0/adapter0/host19/target19:0:0/19:0:0:0

>
> ?
>
> Doug Gilbert
>
>
>

--
Damien Le Moal
Western Digital Research