[Stgt-devel] Question for pass-through target design

Vladislav Bolkhovitin vst
Fri Jun 1 17:12:01 CEST 2007


Vladislav Bolkhovitin wrote:
> So, if you need in-kernel pass-through I would suggest you to look at
> SCST project (http://scst.sf.net), which is currently stable and mature,
> although also not fully finished yet. It was historically from the very
> beginning designed for full feature in-kernel pass-through for not only
> stateless SCSI devices, like disks, but also for stateful SCSI devices
> (like SSC ones a.k.a. tapes), where the correct handling of all above is
> essential. In additional to considerably better performance, the
> complete in-kernel approach makes the code simpler, smaller and cleaner
> as well as allows such things as zero-copy buffered file IO, i.e. when 
> data are sent to remote initiators or received from them directly 
> from/to the page cache (currently under development). For those who need 
> implementing SCSI devices in the user space scst_user module is about to 
> be added. Since the SCSI state machine is in kernel the interface 
> provided by scst_user is very simple, it essentially consists from only 
> a single IOCTL and allows to have overhead as low as a single syscall 
> per SCSI command without any additional context switches. It is already 
> implemented and works. For some legal reasons I can't at the moment 
> publish it, but you can see its full description in the project's SVN 
> docs (you can get them using command "svn co 
> https://svn.sourceforge.net/svnroot/scst/trunk/doc").

Now I released scst_user module and it is available from the SCST SVN, 
so you can check how simply it allows to write SCSI devices, like a VTL, 
in the user space.

Vlad



More information about the stgt mailing list