public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dgilbert@interlog.com>
To: Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Wenchao Hao <haowenchao@huawei.com>,
	"James E . J . Bottomley" <jejb@linux.ibm.com>,
	"Martin K . Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 0/5] scsi:scsi_debug:Add error injection for single lun
Date: Sun, 13 Nov 2022 21:54:18 -0500	[thread overview]
Message-ID: <c9106b58-677b-31e3-5c4e-5cbef5b1fe63@interlog.com> (raw)
In-Reply-To: <50e1411a-54c4-d9d2-7567-2388219c5bb1@opensource.wdc.com>

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.

Doug Gilbert


  reply	other threads:[~2022-11-14  2:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-09 15:59 [RFC PATCH 0/5] scsi:scsi_debug:Add error injection for single lun Wenchao Hao
2022-11-09 15:59 ` [RFC PATCH 1/5] scsi:scsi_debug: Add sysfs interface to manager single devices' error inject Wenchao Hao
2022-11-09 15:59 ` [RFC PATCH 2/5] scsi:scsi_debug: Add interface to remove injection which has been added Wenchao Hao
2022-11-09 15:59 ` [RFC PATCH 3/5] scsi:scsi_debug: make command timeout if timeout error is injected Wenchao Hao
2022-11-09 15:59 ` [RFC PATCH 4/5] scsi:scsi_debug: Return failed value for specific command's queuecommand Wenchao Hao
2022-11-09 15:59 ` [RFC PATCH 5/5] scsi:scsi_debug: fail specific scsi command with result and sense data Wenchao Hao
2022-11-13 21:48 ` [RFC PATCH 0/5] scsi:scsi_debug:Add error injection for single lun Douglas Gilbert
2022-11-14  0:30   ` Damien Le Moal
2022-11-14  2:54     ` Douglas Gilbert [this message]
2022-11-14  2:55       ` Damien Le Moal
2022-11-21 14:26   ` Wenchao Hao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c9106b58-677b-31e3-5c4e-5cbef5b1fe63@interlog.com \
    --to=dgilbert@interlog.com \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=haowenchao@huawei.com \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox