lkml.org 
[lkml]   [2008]   [Feb]   [8]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 08 Feb 2008 17:42:50 +0300
FromVladislav Bolkhovitin <>
SubjectRe: Integration of SCST in the mainstream Linux kernel
Nicholas A. Bellinger wrote:
> On Thu, 2008-02-07 at 12:37 -0800, Luben Tuikov wrote:
> 
>>Is there an open iSCSI Target implementation which does NOT
>>issue commands to sub-target devices via the SCSI mid-layer, but
>>bypasses it completely?
>>
>>   Luben
>>
> 
> 
> Hi Luben,
> 
> I am guessing you mean futher down the stack, which I don't know this to
> be the case.  Going futher up the layers is the design of v2.9 LIO-SE.
> There is a diagram explaining the basic concepts from a 10,000 foot
> level.
> 
> http://linux-iscsi.org/builds/user/nab/storage-engine-concept.pdf
> 
> Note that only traditional iSCSI target is currently implemented in v2.9
> LIO-SE codebase in the list of target mode fabrics on left side of the
> layout.  The API between the protocol headers that does
> encoding/decoding target mode storage packets is probably the least
> mature area of the LIO stack (because it has always been iSCSI looking
> towards iSER :).  I don't know who has the most mature API between the
> storage engine and target storage protocol for doing this between SCST
> and STGT, I am guessing SCST because of the difference in age of the
> projects.  Could someone be so kind to fill me in on this..?

SCST uses scsi_execute_async_fifo() function to submit commands to SCSI 
devices in the pass-through mode. This function is slightly modified 
version of scsi_execute_async(), which submits requests in FIFO order 
instead of LIFO as scsi_execute_async() does (so with 
scsi_execute_async() they are executed in the reverse order). 
Scsi_execute_async_fifo() added as a separate patch to the kernel.

> Also note, the storage engine plugin for doing userspace passthrough on
> the right is also currently not implemented.  Userspace passthrough in
> this context is an target engine I/O that is enforcing max_sector and
> sector_size limitiations, and encodes/decodes target storage protocol
> packets all out of view of userspace.  The addressing will be completely
> different if we are pointing SE target packets at non SCSI target ports
> in userspace.
> 
> --nab


\
 
 \ /
  Last update: 2008-02-08 15:45    [from the cache]
©2003-2008