diff --git a/www/comparison.html b/www/comparison.html index 4729f5b97..2f0708bd1 100644 --- a/www/comparison.html +++ b/www/comparison.html @@ -223,7 +223,8 @@ ORDERED commands + + -,
data Alpha - - - -LSI (SAS) Preliminary - - - +LSI (SAS) Preliminary + (not completed) - - - IBM pSeries Virtual SCSI - + - - @@ -278,7 +279,7 @@ CD devices - + - - Emulation of virtual tape and media changer -devices - Experimental - - +devices (VTL) - Experimental - - diff --git a/www/contributing.html b/www/contributing.html index dcf81ca55..29656fab0 100644 --- a/www/contributing.html +++ b/www/contributing.html @@ -49,11 +49,9 @@
  • By reporting bugs or other problems.
  • -

    Contributing in SCST, you investing not only - in making Linux the best storage OS, but, if your company - has a product or service, based on SCST, you also investing in the secured - future of your product or service and, hence, in the the secured - future of your company.

    +

    Contributing in SCST, you investing not only in making Linux the best storage OS, but, if your company + has a product or service, based on SCST, you also investing in the secured future of your product + or service and, hence, in the the secured future of your company.

    Possible SCST extensions and improvements

    diff --git a/www/downloads.html b/www/downloads.html index 7438c1cbf..ab3c86ab8 100644 --- a/www/downloads.html +++ b/www/downloads.html @@ -36,12 +36,11 @@

    Stable SCST Releases

    -

    The latest stable version of SCST core is 1.0.1.1. It requires Linux kernel 2.6.16 or higher. - More detail information you could find in its README file.

    +

    The latest stable version of SCST core is 1.0.1.1. It requires Linux kernel 2.6.16 or higher. + More detail information you could find in its README file.

    -

    The latest development version of SCST core, target drivers and - user space utilities is available directly from the - project's SVN. The SCST release policy is to make stable releases once or twice a +

    The latest development version of SCST core, target drivers and user space utilities is available directly from the + project's SVN. The SCST release policy is to make stable releases once or twice a year, with the only exception if the current stable version contains a critical bug. But every commit in the SVN is carefully tested, so you can consider them as mini releases.

    @@ -50,6 +49,8 @@

    svn co https://scst.svn.sourceforge.net/svnroot/scst/trunk

    +

    Also you can find in the SCST SVN the latest updates for the stable branches.

    +

    More information about accessing SVN repository may be found here.

    diff --git a/www/images/tooltips.js b/www/images/tooltips.js new file mode 100644 index 000000000..307095d1c --- /dev/null +++ b/www/images/tooltips.js @@ -0,0 +1,52 @@ +var d = document; +var offsetfromcursorY=15 // y offset of tooltip +var ie=d.all && !window.opera; +var ns6=d.getElementById && !d.all; +var tipobj,op; + +function tooltip(el,txt) { + tipobj=d.getElementById('mess'); + tipobj.innerHTML = txt; + op = 0.1; + tipobj.style.opacity = op; + tipobj.style.display="block"; + tipobj.style.visibility="visible"; + + el.onmousemove=positiontip; + appear(); +} + +function hide_info(el) { + d.getElementById('mess').style.visibility='hidden'; + d.getElementById('mess').style.display='none'; + el.onmousemove=''; +} + +function ietruebody(){ +return (d.compatMode && d.compatMode!="BackCompat")? d.documentElement : d.body +} + +function positiontip(e) { + var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft; + var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop; + var winwidth=ie? ietruebody().clientWidth : window.innerWidth-20 + var winheight=ie? ietruebody().clientHeight : window.innerHeight-20 + + var rightedge=ie? winwidth-event.clientX : winwidth-e.clientX; + var bottomedge=ie? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY; + + if (rightedge < tipobj.offsetWidth) tipobj.style.left=curX-tipobj.offsetWidth+"px"; + else tipobj.style.left=curX+"px"; + + if (bottomedge < tipobj.offsetHeight) tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px" + else tipobj.style.top=curY+offsetfromcursorY+"px"; +} + +function appear() { + if(op < 0.9) { + op += 0.07; + tipobj.style.opacity = op; + tipobj.style.filter = 'alpha(opacity='+op*100+')'; + t = setTimeout('appear()', 30); + } +} diff --git a/www/index.html b/www/index.html index 2242f7b32..e373fda6e 100644 --- a/www/index.html +++ b/www/index.html @@ -33,7 +33,7 @@

    Generic SCSI Target Subsystem for Linux

    -

    The generic SCSI target subsystem for Linux (SCST) is an alternative +

    The generic SCSI target subsystem for Linux (SCST) is an alternative implementation of a SCSI target subsystem for Linux. It provides unified, consistent interface between SCSI target drivers and Linux kernel as well as between Linux kernel and storage backend @@ -63,13 +63,13 @@

  • SCST core undertakes most problems, related to execution contexts, thus practically eliminating one of the most complicated problem in the kernel drivers development. For example, target drivers for Marvell SAS adapters or for InfiniBand SRP are less 3000 lines of code long.
  • -
  • Very low overhead, fine-grained locks and simplest commands processing path allow to reach - maximum possible performance and scalability. Particularly, incoming requests can be processed in +
  • Very low overhead and fine-grained locks allow to reach the + maximum performance and scalability. Particularly, incoming requests can be processed in the caller's context or in one of the internal SCST core's tasklets without any extra context switches.
  • -
  • Device handlers, i.e. plugins, architecture allows various I/O - modes in backstorage handling. For example, pass-through device handlers allows to use real - SCSI hardware and vdisk device handler allows to use files as virtual disks.
  • +
  • Device handlers architecture allows various I/O + modes in backstorage handling. For example, pass-through device handlers allow to export real + SCSI hardware and vdisk device handler allows to export files as virtual disks.
  • Advanced per-initiator devices visibility management (LUN masking) allows different initiators to see different set of devices with different access permissions. For instance, initiator A could see exported from target T devices X and Y read-writable, and initiator B from @@ -95,8 +95,7 @@ commands to non-existing devices and provides access control, so different remote initiators could see different set of devices.
  • -
  • Other necessary functionality (task attributes, etc.) as specified in SAM-2, SPC-2, SAM-3, - SPC-3 and other SCSI standards.
  • +
  • Other necessary functionality (task attributes, etc.) as specified in SCSI standards.
  • @@ -110,24 +109,27 @@ 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 passed through SCST core.

    - + +

    You can find comparison of SCST with other SCSI targets on the Comparison page. + Some highlights what it can mean for end users you can find on the iSCSI-SCST page. +

    SCST core supports the following I/O modes

    diff --git a/www/scst_admin.html b/www/scst_admin.html index 4987a8479..b0f21d686 100644 --- a/www/scst_admin.html +++ b/www/scst_admin.html @@ -57,8 +57,9 @@

    SCST administration utility

    -

    SCST administration utility "scstadmin" developed by Mark Buechler.

    With it you can - manually or automatically using either plain text config file, or MySQL database configure every aspect of SCST.

    +

    SCST administration utility scstadmin developed by Mark Buechler.

    + +

    With it you can manually or automatically using either plain text config file, or MySQL database configure every aspect of SCST.

    Especially useful feature of scstadmin is ability to figure out and apply on the currently running system changes in scst.conf file. In other words, you can have SCST subsystem running with configuration from file diff --git a/www/scstvsstgt.html b/www/scstvsstgt.html index e23985442..bf3e3225e 100644 --- a/www/scstvsstgt.html +++ b/www/scstvsstgt.html @@ -44,7 +44,7 @@

    SCST vs STGT

    -

    STGT is alternative, independent from SCST implementation +

    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 diff --git a/www/target_iscsi.html b/www/target_iscsi.html index 6c2f2bfcf..1cead94cf 100644 --- a/www/target_iscsi.html +++ b/www/target_iscsi.html @@ -56,61 +56,62 @@

    ISCSI target driver iSCSI-SCST

    -

    ISCSI-SCST is a forked (with all respects) version of IET. Reasons of the fork were:

    +

    ISCSI-SCST is an iSCSI target driver for SCST. It is a deeply reworked fork of + IET with a lot of fixes and improvements. Reasons of the fork were:

      -
    • To be able to use full power of SCST core.
    • -
    • To fix all the problems, corner cases issues and iSCSI standard violations IET which has.
    • +
    • To be able to use full power of SCST core.
    • +
    • To fix all the problems, corner cases issues and iSCSI standard violations which IET has.
    -

    IET is a well recognized and widely used iSCSI target, but, frankly speaking, it works more or less well - on fast paths and regularly used code branches only, however in many corner - cases it has a lot of problems, like ignoring error processing, as it is for memory allocations, +

    IET in many corner cases has a lot of problems, like ignoring errors processing, as it is for memory allocations, crashing itself with BUG() macro, as it is for malformed packets from initiators, possible data corruptions, because of, for instance, unsafe task management or sessions reinstatement implementations, etc. - There was no way to fix all them without a fork. As the result of this effort nearly 90% of the IET kernel code was fully - rewritten.

    - -

    Since ISCSI-SCST uses SCST core, it has the following additional features:

    + There was no way to fix all them without a fork. As the result of this effort nearly all (80-90% overall and >90% + of the core) of the IET kernel code and 20-25% of the user space code were rewritten.

    + +

    You can find comparison of iSCSI-SCST with IET and other iSCSI targets on the Comparison page. + Some highlights: +

      -
    • Pass-through mode with one to many relationship, i.e. when multiple initiators can connect to - exported pass-through devices. For instance, in this mode you can safely export your parallel - SCSI tape or tape library (or VTL) on - your iSCSI net and multiple initiators can share it without risk of data loss because of the - shared usage. Existing outdated "rawio" patch for IET supports only non-enforced 1:1 - relationship, so it is unsafe to use it in multiple initiators environments.
    • +
    • Improved performance. In some cases there is >100% improvement.
    • + +
    • Pass-through mode with one to many relationship, when multiple initiators can connect to + exported local SCSI devices. For instance, in this mode you can safely export your parallel + SCSI tape or tape library, or VTL on your iSCSI net and multiple initiators can share it without risk of + data loss because of the shared usage.
    • -
    • More advanced devices visibility management, when different initiators can see different set of - devices with different access permissions from the same target.
    • +
    • Automatic PnP-like reconfiguration, when initiators instantly see any configuration changes on the + target, like addition of new LUNs or a LUN resize. No restart or anything like that is needed.
    • -
    • O_DIRECT, i.e. "BLOCKIO on files", mode, which has all advantages +
    • Safe implementation of many management and errors recovery facilities as well as better handling of various + corner cases, which means better errors recovery stability without putting user data at risk.
    • + +
    • Advanced devices visibility management, when different initiators can see different set of + devices from the same target.
    • + +
    • O_DIRECT, i.e. "BLOCKIO on files", mode, which has all advantages of BLOCKIO, but also supports files on file systems. Sometimes, in the appropriate cases, this mode can make performance difference in 100% or even more.
    • -
    • 4KB blocks eliminate abysmal write performance caused by misaligned partitions. +
    • 4KB blocks eliminate abysmal write performance issues caused by misaligned partitions.
    • -
    • Virtual CD/DVD-ROMs.
    • +
    • Virtual CD/DVD-ROMs.
    • -
    • Ability to create target devices emulators in the user space.
    • +
    • Ability to create target devices emulators in the user space.
    • -
    • Ability to create multi-transport SCSI targets, which can export (possibly, the same) - devices over multiple transports.
    • -
    - -

    Also, due to reworked I/O architecture and SCST backend iSCSI-SCST has much - better performance in many cases and has potential for future improvements, like zero-copy - with Linux cache FILEIO. In many tests iSCSI-SCST outperforms tuned for best - performance IET on more than 100%.

    - -

    Advantages of iSCSI-SCST over IET are summarized on the Comparison page.

    +
  • Ability to create multi-transport SCSI targets, which can export (possibly, the same) + devices over multiple transports.
  • +

    If you are an IET user before installation carefully read README files of both iSCSI-SCST and the SCST core. Especially pay attention that now the LUN information for iSCSI-SCST is configured not using - iscsi-scstd.conf file in /etc, but using corresponding SCST facilities. This is because now the responsibilities - are divided (as it should be) between the target driver (iSCSI-SCST) and the SCST core: target driver is - responsible for handling targets and their parameters, SCST core is responsible for handling backstorage.

    + 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.

    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.

    diff --git a/www/target_old.html b/www/target_old.html index d057dd123..bfc4ebb10 100644 --- a/www/target_old.html +++ b/www/target_old.html @@ -75,7 +75,7 @@ download from http://bj.soulinfo.com/~hugang/scst/tgt/. These drivers are not completed, but looks to be a good starting point if you are going to use one of these adapters. SCST team don't have the appropriate hardware, therefore have not tested and don't support these drivers. - Send all questions to Hu Gang < hugang @soulinfo.com >. If some of these drivers don't compile for + Send all questions to Hu Gang < hugang at soulinfo com >. If some of these drivers don't compile for you, try again with SCST version 0.9.3-pre2.



    Patches for UNH-iSCSI Target 1.5.03 and 1.6.00 to SCST

    diff --git a/www/users.html b/www/users.html index d467df126..74c0ff621 100644 --- a/www/users.html +++ b/www/users.html @@ -10,6 +10,8 @@ + +