mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/9] scsi:scsi_debug: Add error injection for single device
@ 2023-07-23 23:40 Wenchao Hao
  2023-07-23 23:40 ` [PATCH v3 1/9] scsi:scsi_debug: create scsi_debug directory in the debugfs filesystem Wenchao Hao
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Wenchao Hao @ 2023-07-23 23:40 UTC (permalink / raw)
  To: James E . J . Bottomley, Martin K . Petersen, Douglas Gilbert,
	linux-scsi, linux-kernel
  Cc: Dan Carpenter, louhongxiang, Wenchao Hao

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. Two new error injection is defined to make
abort command or reset LUN failed.

Besides error injection for single device, this patchset add a
new interface to make reset target failed for each scsi_target.

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 5 patches use the
injection info and generate the related error type. The last one just
Add a new interface to make reset target failed.

V3:
  - Add two more error types to fail abort command and lun reset
  - Fix memleak when rmmod scsi_debug without clearing errors injected
  - Fix memkeak because did not implement release in sdebug_error_fops
  - Fix possible NULL point access in scsi_debug_slave_destroy
  - Move specific error type's description to each single patch which
    implement this error type
  - Add interface to make target reset fail

V2:
  - Using debugfs rather than sysfs attribute interface to manage error

Wenchao Hao (9):
  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
  scsi:scsi_debug: Add new error injection abort failed
  scsi:scsi_debug: Add new error injection reset lun failed
  scsi:scsi_debug: Add debugfs interface to fail target reset

 drivers/scsi/scsi_debug.c | 503 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 498 insertions(+), 5 deletions(-)

-- 
2.35.3


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-08-15 12:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-23 23:40 [PATCH v3 0/9] scsi:scsi_debug: Add error injection for single device Wenchao Hao
2023-07-23 23:40 ` [PATCH v3 1/9] scsi:scsi_debug: create scsi_debug directory in the debugfs filesystem Wenchao Hao
2023-07-23 23:40 ` [PATCH v3 2/9] scsi:scsi_debug: Add interface to manage single device's error inject Wenchao Hao
2023-07-23 23:40 ` [PATCH v3 3/9] scsi:scsi_debug: Define grammar to remove added error injection Wenchao Hao
2023-07-23 23:41 ` [PATCH v3 4/9] scsi:scsi_debug: timeout command if the error is injected Wenchao Hao
2023-07-23 23:41 ` [PATCH v3 5/9] scsi:scsi_debug: Return failed value " Wenchao Hao
2023-07-23 23:41 ` [PATCH v3 6/9] scsi:scsi_debug: set command's result and sense data " Wenchao Hao
2023-07-23 23:41 ` [PATCH v3 7/9] scsi:scsi_debug: Add new error injection abort failed Wenchao Hao
2023-07-23 23:41 ` [PATCH v3 8/9] scsi:scsi_debug: Add new error injection reset lun failed Wenchao Hao
2023-07-23 23:41 ` [PATCH v3 9/9] scsi:scsi_debug: Add debugfs interface to fail target reset Wenchao Hao
2023-08-03  6:26   ` kernel test robot
2023-08-15 12:10     ` haowenchao (C)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®