On 11/14/22 11:54, Douglas Gilbert wrote: > On 2022-11-13 19:30, Damien Le Moal wrote: >> 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 > > Well the patch descriptions are all in terms of /sys/block/sd<letter>/ > which will not exist if scsi_debug is called like this: > $ modprobe scsi_debug ptype=1 > > That creates a pseudo host with an attached (virtual) tape drive. If > the patchset works for other peripheral device types (i.e. that don't > use the sd driver) then the description should at least mention the > more general case (i.e. /sys/class/scsi_device/<hctl>/device ) IMO. Got it. > > Doug Gilbert > -- Damien Le Moal Western Digital Research