Better and repeatable SCSI subsystem testing and debugging

Registered by Ankit Jain

* Improving SCSI subsystem testing and debugging
** SCSI record/playback

  The idea is to have a mechanism to "record" all the scsi traffic for a
  device, and later have a virtual/fake scsi driver expose a virtual scsi
  disk, which would *playback* that recorded scsi traffic. This can be useful
  in trying to debug issues. The driver would be mostly dumb and just
  playback what it recorded. Eg. could let the recorder start recording when a
  particular device is opened and keep recording till close or at a user
  defined point. The data would be handled and stored by a userspace
  program. The playback driver could be loaded with such a data file.

  This same basic mechanism (recording) can be utilized for other things like, analyzing
  scsi traffic via userspace programs like ethereal.

  Proof of concept would be presented, besides discussing the ideas and other
  better ways of doing this.

** SCSI scriptable device
   This one is would be similar to scsi-debug, and would allow the device to
   be scripted from userspace. The userspace scripting environment would get
   access to scsi commands and events and be able to add rules to respond to
   certain scsi events or commands, eg. if trying to WRITE to the disk, then
   introduce an error or return incorrect results. Or introduce faults or just
   disconnect the device etc. This would require a thin library for
   communication with the kernel and parsing the scsi commands etc.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.