From 1e1476089d3433bf0511ca2fba8e9aa32ce6a3f9 Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Mon, 18 May 2009 18:08:04 +0000 Subject: [PATCH] Web updates. Particularly, scst_pg has changes suggested by Sam Haxor git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@858 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- www/comparison.html | 59 +- www/index.html | 27 +- www/scst_pg.html | 15 +- www/scst_pg.pdf | 6480 +++++++++++++++++++++-------------------- www/target_iscsi.html | 63 +- 5 files changed, 3397 insertions(+), 3247 deletions(-) diff --git a/www/comparison.html b/www/comparison.html index 5c6ca5ffc..7d6068204 100644 --- a/www/comparison.html +++ b/www/comparison.html @@ -117,7 +117,7 @@ transfer values (parallel SCSI, SAS) + - - 9 + - - - - Advanced LUNs access control + Advanced devices access control 10 + - - - @@ -154,11 +154,11 @@ SCSI requirements 12 Safe S Support for SCSI task attributes, including ORDERED commands + + -,
data corruption possible - - 20 -,
data + + 21 -,
data corruption possible - - 20 + + 21 Persistent Reservations
@@ -172,7 +172,7 @@ ORDERED commands + + -,
data SCSI MIBs - - - - - 14 + 15 Cluster Storage Integration - - - VHACS @@ -225,14 +225,15 @@ ORDERED commands + + -,
data User space FILEIO + + - - - SCSI pass-through + - - Single initiator only, not enforced - 15 + SCSI pass-through + 16 + - - Single initiator only, not enforced + 17 Zero-copy data read/write to/from backstorage BLOCKIO, user space FILEIO in O_DIRECT mode, pass-through - 16 + 18 - 8 BLOCKIO BLOCKIO, pass- @@ -275,7 +276,7 @@ devices - Experimental - - Zero-copy data send/receive Send only - 17 + 19 None 8 Send only Send only @@ -302,13 +303,13 @@ devices - Experimental - - + - - - Safe implementation of connections and sessions -reinstatement 18 Safe Not safe Not safe Not safe +reinstatement 20 Safe Not safe Not safe Not safe - Safe restart 19 Safe ? Not safe ? + Safe restart 21 Safe ? Not safe ? iSCSI MIBs - - - - - 14 + 15 @@ -349,7 +350,7 @@ reinstatement 18 Safe Not s locally on the target host. For instance, you can mount your ISO image from emulated by the target CDROM device locally on the target host.

-

10. "Advanced devices LUNs control" means that different initiators can see different sets +

10. "Advanced devices access control" means that different initiators can see different sets of devices from the same target. This feature is required for hardware targets, which don't have ability to create virtual targets.

@@ -371,33 +372,37 @@ reinstatement 18 Safe Not s SCSI command, which initiator will send after it received the task management response thinking that all the aborted commands actually fully aborted. This could lead to a data corruption.

-

14. The IETF SCSI-MIB (RFC 4455) is not supported by LIO, only proprietary MIBs SBE-SCSI-MIB, SBE-ISCSI-MIB and SBE-IPS-AUTH-MIB are supported.

+

14. Both IET and LIO report in INQUIRY command response support for full task management model. But they process ORDERED + commands the same way as SIMPLE commands, i.e. allow free reorder of them before they get executed. That violates SCSI standard + and can lead to a data corruption to any application relying on commands order provided by ORDERED attribute.

-

15. LIO doesn't emulate all the necessary SCSI host functionality to allow to share a SCSI device - in pass-through mode to several initiators. It can only pass SCSI commands from initiator to - the SCSI device and response back. This is safe only with a single initiator. This limitation - isn't enforced anyhow, so you can accidentally corrupt your data. You can find more technical information about that in +

15. The IETF SCSI-MIB (RFC 4455) is not supported by LIO, only proprietary MIBs SBE-SCSI-MIB, SBE-ISCSI-MIB and SBE-IPS-AUTH-MIB are supported.

+ +

16. SCSI pass-through mode allows to export your local SCSI-capable device. For instance with it you can share your parallel + SCSI tape or SATA DVD-RW device to your iSCSI network.

+ +

17. LIO doesn't emulate all the necessary SCSI host functionality to allow to share SCSI devices + in pass-through mode to several initiators. It 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 LIO doesn't issue no warning about it, so you can quietly corrupt your data. + You can find more technical information about that in http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg06911.html

-

16. You can find proposal how to implement zero-copy FILEIO in SCST on the +

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

-

17. Doesn't need any kernel patch, except in case, when used with user space backend.

+

19. Doesn't need any kernel patch, except in case, when used with user space backend.

-

18. Connections and sessions reinstatement is, basically, a kind of Task Management command, because it implies commands aborting. +

20. Connections and sessions reinstatement is, basically, a kind of Task Management command, because it implies commands aborting. For instance, open-iscsi uses it as a less intrusive substistute for target reset in eh_target_reset_handler() callback. So, similarly to the safe task management above, a safe implementation of connections and sessions reinstatement must not accept SCSI commands from new connection/session until all the SCSI commands in being reinstated connection/session get into a state, where they can't affect new commands.

-

19. "Safe restart" means that after the iSCSI target restart, all the connected initiators will seamlessly restore all existing before +

21. "Safe restart" means that after the iSCSI target restart, all the connected initiators will seamlessly restore all existing before the restart connections. "Not safe" means that, most likely, the connected initiators will fail to restore existing connections with some errors.

- -

20. Both IET and LIO report in INQUIRY command response support for full task management model. But they process ORDERED - commands the same way as SIMPLE commands, i.e. allow free reorder of them before they get executed. That violates SCSI standard - and can lead to a data curruption to any application relying on commands order provided by ORDERED attribute.

diff --git a/www/index.html b/www/index.html index be8f4b376..830ef6de6 100644 --- a/www/index.html +++ b/www/index.html @@ -43,7 +43,7 @@ automatic backup, etc. Another class of such devices are Virtual Tape Libraries (VTL) as well as other disk-based backup solutions. SCST created devices not - limited by IP network interface only. They can use any link supporting + limited by IP networking only. They can use any link which supports SCSI-style data exchange, including Fibre Channel, iSCSI, SAS, InfiniBand and parallel (Wide) SCSI. It might @@ -55,10 +55,10 @@

Features of SCST Core

-
  • Multithreaded design and complete SMP support, so, if necessary, all your CPU cores will participate in the commands +
  • SCST core has multithreaded design and complete SMP support, so, if necessary, all your CPU cores will participate in the commands processing.
  • Well documented.
  • -

    Interoperability between SCST core and local SCSI initiators (i.e. sd, st, etc.) is the additional issue that SCST is going to +

    Interoperability between remote and local SCSI initiators (i.e. sd, st, etc.) is the additional issue that SCST is going to address (it is not implemented yet). It is necessary, because local SCSI initiators can change the state of the - device, for example RESERVE the device, or some of its parameters and that could be done behind SCST, which could + device, for example RESERVE the device, or some of its parameters and that could be done behind SCST, i.e. remote initiators + will not know about it, which could lead to various problems, including data corruption. Thus, RESERVE/RELEASE commands, locally generated - UNIT ATTENTIONs, etc. should be intercepted and processed as if local SCSI initiators act as remote SCSI - initiators connected to SCST.

    + UNIT ATTENTIONs, etc. should be intercepted and passed through SCST core.

    SCST core supports the following I/O modes