diff --git a/www/comparison.html b/www/comparison.html index dcc648b32..e244436d1 100644 --- a/www/comparison.html +++ b/www/comparison.html @@ -45,7 +45,7 @@

Features comparison between Linux SCSI targets

-

As on October 2009

+

As on October 2009. Partially updated in August 2010.

@@ -64,7 +64,7 @@ - + + - + @@ -103,7 +103,7 @@ transfer values (parallel SCSI, SAS) - + @@ -112,15 +112,11 @@ transfer values (parallel SCSI, SAS) - + - - - +10 - + - + @@ -169,8 +161,7 @@ ORDERED commands @@ -181,6 +172,19 @@ ORDERED commands + + + + + + + + + @@ -213,9 +217,8 @@ ORDERED commands - + - + + + + @@ -293,14 +302,15 @@ devices (VTL) < - @@ -312,14 +322,10 @@ devices (VTL) < - + - + +links)

8. Some zero-copy functionality isn't available from user space, sometimes fundamentally. For instance, zero-copy FILEIO with page cache or zero-copy send to a socket. Also STGT can't use splice() for in-kernel target drivers, because it has memory management in user space. To use splice() with socket-based user space target drivers - STGT would need a deep redesign of internal interactions between target drivers, core and backend handlers.

+ STGT would need a deep redesign of internal interactions between target drivers, core and backend handlers. But in + some cases STGT can use zero-copy sendfile().

9. Local access to emulated backstorage devices" means that you can access emulated by a SCSI target devices locally on the target host. For instance, you can mount your ISO image from emulated by the target @@ -384,8 +391,6 @@ links)

of devices from the same target. This feature is required for hardware targets, which don't have ability to create virtual targets.

-

11. Not well tested, because at the moment there is no backend using this functionality.

-

12. SCSI requires that if an initiator clears reservation held by another initiator, the reservation holder must be notified about the reservation clearance. Otherwise, several initiators can at the same time change supposed to be protected by the reservation data, which can corrupt them. This is what was called @@ -414,11 +419,14 @@ links)

SCSI tape or SATA DVD-RW device to your iSCSI network.

17. STGT and LIO don't emulate all the necessary SCSI host functionality to allow to share SCSI devices - in pass-through mode to several initiators. They can only pass SCSI commands from initiators to + in pass-through mode to several initiators, although LIO has some necessary processing, but not all. + They can only pass SCSI commands from initiators to SCSI devices and responses back. This is safe only with a single initiator. This limitation isn't enforced anyhow and both STGT and LIO don't issue any warning about it, so an user will not be notified about this limitation and can quietly corrupt his/her data. You can find more technical information about it - here.

+ here. + Also neither STGT, nor LIO in pass-through mode do the necessary sense processing for tape devices to + correctly return residual information, so tapes can used with them with limited functionality.

18. You can find a proposal how to implement zero-copy FILEIO in SCST on the Contributing page.

diff --git a/www/iscsi-scst/index.html b/www/iscsi-scst/index.html index 41471bbcc..cedb7577f 100644 --- a/www/iscsi-scst/index.html +++ b/www/iscsi-scst/index.html @@ -113,7 +113,8 @@ iscsi-scstd.conf file in /etc, but using corresponding SCST facilities. This is because now responsibilities are divided (as it logically should be) between the target driver (iSCSI-SCST) and the SCSI target core (SCST), where target driver is responsible for handling targets with their parameters, and SCST core is responsible for handling - backstorage.

+ backstorage. You can also use a migration tool developed by Scalable Informatics Inc., which will convert your IET machine + to an iSCSI-SCST machine. See README for more details.

The latest stable version is 1.0.1.1. Requires Linux kernel version 2.6.16.x or higher and SCST version 1.0.1.1 or higher. Tested mostly on i386 and x86_64, but should work on any other supported by Linux platform.

Upstream kernel - Kernel part - -
Generic Target Engine + + iSCSI only Under development Generic Target Engine + + iSCSI only +
Architecture Kernel only User space only @@ -74,7 +74,7 @@
Stability + + 3 - + Under development + ? (no released packages)
Performance 4 ***** @@ -95,7 +95,7 @@ backend drivers + transfer values (parallel SCSI, SAS) + - - -
Interface with user space ProcFS Custom - ConfigFS/IOCTL/ProcFS Interface with user space SysFS/ProcFS Custom - ConfigFS/IOCTL/ProcFS
+ - Major features
Target drivers in kernel space + + - Under development Target drivers in kernel space + + - +
Target drivers in user space + + - - + - Backstorage handlers in kernel space + - - +
Backstorage handlers in user space + + - - Backstorage handlers in user space + + - Through STGT
Local access to emulated backstorage devices -9 + - - -
Advanced devices access control -10 + - - - + - - +
Support for Asynchronous Event Notifications @@ -132,14 +128,10 @@ resized through AENs or Unit Attentions (Initiators can instantly see any target reconfiguration in a PnP-like fashion) + - - -
Bidirectional Commands + - 11 - + - - Bidirectional Commands + + - -
Extended CDB (size >16 bytes) + - 11 - + - - Extended CDB (size >16 bytes) + + - -
Descriptor sense support + + - - + + -,
data
Persistent Reservations
- (Windows 2008 clustering / RHEL5 I/O fencing)
Under testing - +
(limited + (Windows 2008 clustering / RHEL5 I/O fencing)
+ +
(limited functionality implemented)
- +
+ + -,
data
Failover Clustering + ? + +
Allocated buffers cache + - - -
Protection against commands with +wrong transfer size or transfer direction (may lead to crash or +hard lockup) + - - -
Protection against DoS'ing target by making it +allocate too much memory for buffers and taking it into an OOM state + + - - -
SCSI MIBs - - - +- 15
+ + -,
data
Marvell (SAS) Beta - - -
FCoE Under - development Under - development - - FCoE Alpha Under + development - Alpha
LSI (Parallel (Wide) SCSI and Fibre Channel) @@ -227,7 +230,11 @@ ORDERED commands + + -,
data
IBM pSeries Virtual SCSI - + - -
Local access to emulated backstorage devices +9 + - - +
Supported backstorage @@ -243,11 +250,13 @@ ORDERED commands + + -,
data
SCSI pass-through - 16 + Disks only, single + 16 + Single initiator only, not - enforced + enforced, limited + for tapes 17 - - Single initiator only, not enforced + - Single initiator only, not enforced, + limited for tapes 17
- Experimental - Kernel only
Interface with user space IOCTL/ProcFS/ +Interface with user space SysFS/IOCTL/ProcFS/ Netlink - IOCTL/ProcFS/ Netlink ConfigFS/IOCTL/ProcFS
Zero-copy data send/receive Send only 19 - None + In some cases, + send only 8 Send only Send only
- Experimental - Max ErrorRecoveryLevel 0 0 0 2
Bidirectional Commands + - 11 - + - - Bidirectional Commands + + - -
Extended CDB (size >16 bytes) + - 11 - + - - Extended CDB (size >16 bytes) + + - -
Support for Asynchronous Event Notifications @@ -336,7 +342,7 @@ reinstatement 20 Safe N
Support for MaxOutstandingR2T >1 (write performance increase on high latency -links) + - - + + Partial - +
iSCSI MIBs - - - +- @@ -374,7 +380,8 @@ links) + - - + + - - + + - - +