SCST vs STGT
STGT is alternative, independent from SCST implementation of SCSI target framework for Linux. It has different architecture, where SCSI target state machine is placed in the user space, while in SCST all the processing done in the kernel. Such architecture as STGT has was acknowledged by the Linux SCSI subsystem maintainers as a "right" one, so kernel's part of STGT quickly found its way to the kernel.
But such architecture has several inherent problems. Among them performance and complexity. See description for the set of patches, submitted for the first iteration of in-kernel inclusion review and comments in Linux kernel mailing list.
See also the following important discussions:
- "Performance of SCST versus STGT" for performance comparison.
- "Question for pass-through target design"
- "Stgt a new version of iscsi target?", especially pay attention to this message why STGT's architecture was considered "right".
Time has proved that STGT is too weak to satisfy modern storage requirements. Now it is obsolete and soon going to be removed from the mainline kernel.