Re: Integration of SCST in the mainstream Linux kernel

Vladislav Bolkhovitin
2008-02-07T13:45:44Z

Bart Van Assche wrote:
> Since the focus of this thread shifted somewhat in the last few
> messages, I'll try to summarize what has been discussed so far:
> - There was a number of participants who joined this discussion
> spontaneously. This suggests that there is considerable interest in
> networked storage and iSCSI.
> - It has been motivated why iSCSI makes sense as a storage protocol
> (compared to ATA over Ethernet and Fibre Channel over Ethernet).
> - The direct I/O performance results for block transfer sizes below 64
> KB are a meaningful benchmark for storage target implementations.
> - It has been discussed whether an iSCSI target should be implemented
> in user space or in kernel space. It is clear now that an
> implementation in the kernel can be made faster than a user space
> implementation (http://kerneltrap.org/mailarchive/linux-kernel/2008/2/4/714804).
> Regarding existing implementations, measurements have a.o. shown that
> SCST is faster than STGT (30% with the following setup: iSCSI via
> IPoIB and direct I/O block transfers with a size of 512 bytes).
> - It has been discussed which iSCSI target implementation should be in
> the mainstream Linux kernel. There is no agreement on this subject
> yet. The short-term options are as follows:
> 1) Do not integrate any new iSCSI target implementation in the
> mainstream Linux kernel.
> 2) Add one of the existing in-kernel iSCSI target implementations to
> the kernel, e.g. SCST or PyX/LIO.
> 3) Create a new in-kernel iSCSI target implementation that combines
> the advantages of the existing iSCSI kernel target implementations
> (iETD, STGT, SCST and PyX/LIO).
>
> As an iSCSI user, I prefer option (3). The big question is whether the
> various storage target authors agree with this ?

I tend to agree with some important notes:

1. IET should be excluded from this list, iSCSI-SCST is IET updated for
SCST framework with a lot of bugfixes and improvements.

2. I think, everybody will agree that Linux iSCSI target should work
over some standard SCSI target framework. Hence the choice gets
narrower: SCST vs STGT. I don't think there's a way for a dedicated
iSCSI target (i.e. PyX/LIO) in the mainline, because of a lot of code
duplication. Nicholas could decide to move to either existing framework
(although, frankly, I don't think there's a possibility for in-kernel
iSCSI target and user space SCSI target framework) and if he decide to
go with SCST, I'll be glad to offer my help and support and wouldn't
care if LIO-SCST eventually replaced iSCSI-SCST. The better one should win.

Vlad