Remove trailing whitespace from multiple files

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7844 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2018-12-31 18:26:51 +00:00
parent d10a90d0ba
commit 3dcace8794
41 changed files with 778 additions and 778 deletions

View File

@@ -94,13 +94,13 @@ And on SUSE systems these packages can be installed by running the following com
from the <a href="http://scst.sourceforge.net/downloads.html">SCST
downloads page</a> or from the SCST Subversion source code
repository.<br><br>
In what follows it is assumed that the SCST trunk has been retrieved
via Subversion. Installing a released SCST version is identical to
installing the trunk after all downloaded SCST source code archives have
been extracted in a single directory. The structure of that directory will
be identical to that of the SCST trunk.
<pre>[root@proj ]# svn co https://svn.code.sf.net/p/scst/svn/trunk scst</pre>
After the above command finished a directory called 'scst' will have been
@@ -133,14 +133,14 @@ Instructions for obtaining a distribution-specific kernel source tree vary. An e
<pre>[root@proj linux ]# pwd
/usr/src/linux
[root@proj linux ]# make menuconfig</pre>
If you have built a 32-bit kernel make sure to disable HIGHMEM4G and
HIGHMEM64G, i.e.
<pre>[root@proj linux ]# grep -i highmem .config
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set</pre>
If you have built a 32-bit kernel on a system with more than 1GB of memory,
consider to change CONFIG_VMSPLIT option to an appropriate value.
</li>
@@ -178,7 +178,7 @@ Unload the qla2xxx kernel module provided by your Linux distribution and blackli
Verify that compilation and installation succeeded:
<pre>[root@proj scst]# ls -l /lib/modules/`uname -r`/extra/qla2*
-rw-r--r-- 1 root root 36756 Jun 20 18:46 qla2x00tgt.ko
-rw-r--r-- 1 root root 160192 Jun 20 18:46 qla2xxx_scst.ko
-rw-r--r-- 1 root root 160192 Jun 20 18:46 qla2xxx_scst.ko
</pre>
</li>
@@ -194,7 +194,7 @@ Unload the qla2xxx kernel module provided by your Linux distribution and blackli
total 232
drwxr-xr-x 2 root root 4096 Jun 20 18:43 dev_handlers
-rw-r--r-- 1 root root 36756 Jun 20 18:46 qla2x00tgt.ko
-rw-r--r-- 1 root root 160192 Jun 20 18:46 qla2xxx_scst.ko
-rw-r--r-- 1 root root 160192 Jun 20 18:46 qla2xxx_scst.ko
-rw-r--r-- 1 root root 190848 Jun 20 18:43 scst.ko
[root@proj scst]# ls -l /lib/modules/`uname -r`/extra/dev_handlers
@@ -208,7 +208,7 @@ total 192
-rw-r--r-- 1 root root 12563 Jun 20 18:43 scst_tape.ko
-rw-r--r-- 1 root root 37937 Jun 20 18:43 scst_user.ko
-rw-r--r-- 1 root root 50194 Jun 20 18:43 scst_vdisk.ko</pre>
where:
<ul>
<li>scst - SCST itself.</li>
@@ -313,13 +313,13 @@ Collecting current configuration: done.
-> Checking configuration file 'qq' for errors.
-> Done, 0 warnings found.
-> Opening device 'disk1' using handler 'vdisk_fileio': done.
-> Adding device 'disk1' at LUN 0 to driver/target 'qla2x00t/25:00:00:f0:98:87:92:f3': done.
-> Enabling driver/target 'qla2x00t/25:00:00:f0:98:87:92:f3': done.
All done.</pre>
The same can be done directly via the sysfs interface of SCST:
<pre>
@@ -376,4 +376,4 @@ where X is the host number.
</ol>
</body>
</html>
</html>

View File

@@ -107,7 +107,7 @@ For example, this will cause problems in the following situation:
7. scst_send_to_midlev returns with SCST_CMD_STATE_RES_NEED_THREAD
8. Now, the scst_process_active_cmd will try to reschedule command 0x8000100
which is already destroyed at this point !
Can anyone on the list confirm my guess? Or, this situation should never
happen because of some other condition which I may have missed? Right
now I can't think of any of simple methods to work around the issue,
@@ -124,104 +124,104 @@ I have two machines (SCST targets) with the following parameters:
- Linux 2.6.21.3, running in 64 bit mode with 16G RAM
- SCST trunk version
On the client side there is a Solaris 10 U3 machine, with the same (chip
On the client side there is a Solaris 10 U3 machine, with the same (chip
wise) Qlogic controller.
There is an FC switch between the three machines, and each of the
targets are zoned to the client's port in a one-by-one manner, so HBA
There is an FC switch between the three machines, and each of the
targets are zoned to the client's port in a one-by-one manner, so HBA
port 1 sees only target 1 and port 2 sees only target 2.
The targets are configured with two large sparse files on XFS (8 TB
The targets are configured with two large sparse files on XFS (8 TB
each, with dd if=/dev/zero of=file bs=1M count=0 seek=8388608).
In Solaris I do various tests with SVM (Sun's built in volume manager)
In Solaris I do various tests with SVM (Sun's built in volume manager)
and multiterabyte UFS. Occasionally, there are some strange write
errors, where the volume manager drops its volumes and without a VM, a
simple UFS fs write can fail too.
I see various errors logged by the kernel (Solaris'), these are some
I see various errors logged by the kernel (Solaris'), these are some
examples, both with and without SVM:
Jun 21 10:42:14 solaris fctl: [ID 517869 kern.warning] WARNING:
Jun 21 10:42:14 solaris fctl: [ID 517869 kern.warning] WARNING:
fp(1)::GPN_ID for D_ID=621200 failed
Jun 21 10:42:14 solaris fctl: [ID 517869 kern.warning] WARNING:
fp(1)::N_x Port with D_ID=621200, PWWN=210000e08b944419 disappeared from
Jun 21 10:42:14 solaris fctl: [ID 517869 kern.warning] WARNING:
fp(1)::N_x Port with D_ID=621200, PWWN=210000e08b944419 disappeared from
fabric
Jun 21 10:42:53 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 10:42:53 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 10:42:53 solaris SCSI transport failed: reason
Jun 21 10:42:53 solaris SCSI transport failed: reason
'tran_err': retrying command
Jun 21 10:43:06 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 10:43:06 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 10:43:06 solaris SCSI transport failed: reason 'timeout':
Jun 21 10:43:06 solaris SCSI transport failed: reason 'timeout':
retrying command
Jun 21 10:43:13 solaris scsi: [ID 107833 kern.notice] Device is gone
Jun 21 10:43:13 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 10:43:13 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 10:43:13 solaris transport rejected fatal error
Jun 21 10:43:13 solaris md_stripe: [ID 641072 kern.warning] WARNING: md:
Jun 21 10:43:13 solaris md_stripe: [ID 641072 kern.warning] WARNING: md:
d10: write error on /dev/dsk/c2t210000E08B944419d0s6
Jun 21 10:43:13 solaris last message repeated 9 times
Jun 21 10:43:13 solaris scsi: [ID 243001 kern.info]
Jun 21 10:43:13 solaris scsi: [ID 243001 kern.info]
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0 (fcp1):
Jun 21 10:43:13 solaris offlining lun=0 (trace=0), target=621200
Jun 21 10:43:13 solaris offlining lun=0 (trace=0), target=621200
(trace=2800004)
Jun 21 10:43:13 solaris ufs: [ID 702911 kern.warning] WARNING: Error
Jun 21 10:43:13 solaris ufs: [ID 702911 kern.warning] WARNING: Error
writing master during ufs log roll
Jun 21 10:43:13 solaris ufs: [ID 127457 kern.warning] WARNING: ufs log
Jun 21 10:43:13 solaris ufs: [ID 127457 kern.warning] WARNING: ufs log
for /mnt changed state to Error
Jun 21 10:43:13 solaris ufs: [ID 616219 kern.warning] WARNING: Please
Jun 21 10:43:13 solaris ufs: [ID 616219 kern.warning] WARNING: Please
umount(1M) /mnt and run fsck(1M)
Jun 21 11:08:55 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:08:55 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:08:55 solaris offline or reservation conflict
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:41 solaris offline or reservation conflict
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:41 solaris offline or reservation conflict
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:41 solaris i/o to invalid geometry
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:41 solaris offline or reservation conflict
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:41 solaris i/o to invalid geometry
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:41 solaris offline or reservation conflict
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:41 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:41 solaris i/o to invalid geometry
Jun 21 11:09:43 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:43 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:43 solaris offline or reservation conflict
Jun 21 11:09:43 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
Jun 21 11:09:43 solaris scsi: [ID 107833 kern.warning] WARNING:
/pci@1,0/pci1022,7450@a/pcie11,105@1,1/fp@0,0/disk@w210000e08b944419,0
(sd1):
Jun 21 11:09:43 solaris SYNCHRONIZE CACHE command failed (5)
I don't see anything in the dmesg on the target side.
After these errors SCST seems to be dead. I can't unload its modules and
After these errors SCST seems to be dead. I can't unload its modules and
can't communicate it via /proc.
A simple cat vdisk just waits and waits.
Could you please help? What should I set/collect/send in this case to
Could you please help? What should I set/collect/send in this case to
help resolving this issue?
======================================================================

View File

@@ -91,7 +91,7 @@ Summary of changes between versions 0.9.5 and 1.0.0
- Updated to work on 2.6.23.x
- Fixes a race, when an event comes on the driver unload, so DPC thread
will try to use already half destroyed data.
will try to use already half destroyed data.
- Fixed problem with SNS, not advertising target mode.
@@ -116,7 +116,7 @@ Summary of changes between versions 0.9.3.8 and 0.9.5
- Ported to 2.6.17.x and 2.6.18.
- Problem with not found WWN on the first login attempt fixed.
- Updated for the latest SCST interfaces changes.
- Cleanups and minor bug fixes.
@@ -130,7 +130,7 @@ Patch vs: qla2xxx v8.01.03-k (in kernels 2.6.15.x+, including 2.6.16-prex)
which lead to only 1Gbps speed of 23xx cards.
- Removed all code that deals with "use_sg == 0" data, since staring
from SCST 0.9.5 commands data are always in SG-vector.
from SCST 0.9.5 commands data are always in SG-vector.
- Fixed hungup on the module unload.
@@ -156,20 +156,20 @@ Summary of changes between versions 0.9.3.5 and 0.9.3.6
Patch vs: qla2xxx v8.01.03-k (in kernels 2.6.15.x+, including 2.6.16-prex)
- Include MEMSET, MEMCPY definitions
- Patched to compile on 64bit cleanly (thanks to Ming Zhang for patch)
- Fixed possible race during initial enabling of Target Mode (thanks to
- Fixed possible race during initial enabling of Target Mode (thanks to
Mark Buechler for finding)
Summary of changes between versions 0.9.3.4 and 0.9.3.5
-------------------------------------------------------
Patch vs: qla2xxx v8.01.03-k (in kernels 2.6.15.x)
- Reset chip when switching from initiator to initiator/target and back
implemented
- Use 2K loop_id's for 23xx chips and thus change how sessions are
tracked.

View File

@@ -1,7 +1,7 @@
.\" -*- nroff -*-
.\" Copyright 2011 Bart Van Assche <bvanassche@acm.org>. All rights reserved.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU General Public License, version 2 (GPLv2).
.\" under the terms of the GNU General Public License, version 2 (GPLv2).
.TH scstadmin 1 "July 2011" "scstadmin 2.0.0"
.SH NAME
scstadmin \- administer the configuration of SCST
@@ -264,7 +264,7 @@ Set one or more attributes of the specified ALUA target.
.B scstadmin -open_dev disk01 -handler vdisk_fileio -attributes filename=/vdisks/disk01.dsk,read_only
Lets SCST open the file /vdisks/disk01.dsk as a disk.
.TP
.B scstadmin -set_dev_attr disk01 -attributes t10_dev_id=0x2345
.B scstadmin -set_dev_attr disk01 -attributes t10_dev_id=0x2345
Sets the T10 device id of SCST device disk01
.TP
.B scstadmin -add_group host01 -driver qla2x00t -target 50:06:0B:00:00:39:71:78

View File

@@ -1,7 +1,7 @@
.\" -*- nroff -*-
.\" Copyright 2011 Bart Van Assche <bvanassche@acm.org>. All rights reserved.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU General Public License, version 2 (GPLv2).
.\" under the terms of the GNU General Public License, version 2 (GPLv2).
.TH scst 5 "July 2011" "scstadmin 2.0.0"
.SH NAME
/etc/default/scst \- Configuration file read by /etc/init.d/scst.

View File

@@ -1,7 +1,7 @@
.\" -*- nroff -*-
.\" Copyright 2011 Bart Van Assche <bvanassche@acm.org>. All rights reserved.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU General Public License, version 2 (GPLv2).
.\" under the terms of the GNU General Public License, version 2 (GPLv2).
.TH scst.conf 5 "July 2011" "scstadmin 2.0.0"
.SH NAME
scst.conf \- Main SCST configuration file.
@@ -56,7 +56,7 @@ quadruplet referring to a local SCSI device or an SCST device name. A
.B DEVICE
section is a subsection of a
.B HANDLER
section.
section.
.TP
.B "TARGET_DRIVER <driver>"
Defines target driver attributes and also which targets are associated with
@@ -371,7 +371,7 @@ module parameter. Parameters for an SCST kernel module can be configured in
options ib_srpt use_node_guid_in_target_name=1
.SH FILES
.IP "/etc/scst.conf"
The configuration file read by
The configuration file read by
.BR scstadmin (1).
.SH "SEE ALSO"
scstadmin(1), scst(5), modprobe.d(5)

View File

@@ -2251,7 +2251,7 @@ sub addLun {
SCST_LUNS, SCST_MGMT_IO);
}
}
$cmd .= "add $device $lun $o_string";
my $io = new IO::File $path, O_WRONLY;
@@ -2549,7 +2549,7 @@ sub devices {
my $isdev = (new_sysfs_interface() ||
-d make_path(SCST_DEVICES_DIR(), $device));
if ($isdev && (!defined($handler) ||
if ($isdev && (!defined($handler) ||
$handler eq $self->deviceHandler($device))) {
push @devices, $device;
}

View File

@@ -57,7 +57,7 @@ sub closeDevs {
}
$cmd .= "$scstadmin -noprompt -handler vdisk_nullio -close_dev $dev";
}
return system("{ echo " . '"' . "$cmd" . '"' . "; $cmd; } $redirect");
return system("{ echo " . '"' . "$cmd" . '"' . "; $cmd; } $redirect");
}
sub closeDevTest {

View File

@@ -32,7 +32,7 @@ Query Operations
-list_driver [<driver>] : List all available drivers or specific <driver>.
-list_target [<target>] : List all available targets or specific <target>.
[-driver <driver>]
-list_group [<group>] : List all configured groups, or specific <group>.
-list_group [<group>] : List all configured groups, or specific <group>.
[-driver <driver>]
[-target <target>]
@@ -68,7 +68,7 @@ Set Attribute Operations
-attributes <p=v,...>
-set_hnd_attr <hndlr> : Sets handler attribute(s) <p> to value <v>.
-attributes <p=v,...>
-set_dev_attr <device> : Sets device attributes(s) <p> to value <v>.
-set_dev_attr <device> : Sets device attributes(s) <p> to value <v>.
-attributes <p=v,...>
-set_drv_attr <driver> : Sets driver attribute(s) <p> to value <v>.
-attributes <p=v,...>
@@ -129,7 +129,7 @@ Device Group Operations
-add_dgrp_dev <device>
-dev_group <dgroup> : Add device <device> to device group <dgrp>.
-rem_dgrp_dev <device>
-dev_group <dgroup> : Remove device <device> from device group <dgrp>.
-dev_group <dgroup> : Remove device <device> from device group <dgrp>.
-add_tgrp <tgrp>
-tgt_group <tgrp> : Add target group <tgrp> to device group <dgrp>.
-rem_tgrp <tgrp>
@@ -154,7 +154,7 @@ Group Operations
-rem_group <group> : Remove a group from a given driver & target.
-driver <driver>
-target <target>
Initiator Operations
-add_init <init> : Adds an initiator to a group.
-driver <driver>
@@ -226,12 +226,12 @@ Examples:
-attributes filename=/vdisks/disk01.dsk,read_only
Setting the T10 Device ID of a device
scstadmin -set_dev_attr DISK01 -attributes t10_dev_id=0x2345
scstadmin -set_dev_attr DISK01 -attributes t10_dev_id=0x2345
Create a new security group:
scstadmin -add_group HOST01 -driver qla2x00t \
-target 50:06:0B:00:00:39:71:78
Add a LUN to a group:
scstadmin -add_lun 1 -driver qla2x00t -target 50:06:0B:00:00:39:71:78 \
-group HOST01 -device DISK01 -attributes read_only=1
@@ -1410,7 +1410,7 @@ sub readWorkingConfig {
foreach my $dgroup (@{$dgroups}) {
my ($dgd, $errorString) = $SCST->deviceGroupDevices($dgroup);
immediateExit($errorString);
immediateExit($errorString);
$CURRENT{'dgroups'}->{$dgroup}->{'devices'} = $dgd;
my ($tgroups, $errorString) = $SCST->targetGroups($dgroup);
immediateExit($errorString);
@@ -1472,7 +1472,7 @@ sub serializeKeyAttr {
my $attributes = shift;
my $attr_filter = shift;
my $result;
foreach my $attribute (sort keys %{$attributes}) {
next if defined($$attributes{$attribute}->{'set'});
next if ($$attributes{$attribute}->{'static'} &&
@@ -1508,7 +1508,7 @@ sub serializeNkAttr {
my $attributes = shift;
my $attr_filter = shift;
my $result;
foreach my $attribute (sort keys %{$attributes}) {
if (!defined($$attributes{$attribute}->{'set'})
&& (!$$attributes{$attribute}->{'static'}
@@ -2721,7 +2721,7 @@ sub applyTargetAssignments {
if (defined($$attributes{'HW_TARGET'})) {
condExit("Hardware target '$target' for driver '$driver' does not exist.");
}
}
filterCreateAttributes($possible, $attributes, FALSE);
@@ -2994,7 +2994,7 @@ sub removeVirtualTarget {
print "done.\n";
return $rc;
}
}
####################################################################
@@ -3019,7 +3019,7 @@ sub listHandlers {
foreach my $handler (@{$handlers}) {
print "\t$handler\n";
}
}
return FALSE;
}
@@ -3379,9 +3379,9 @@ sub listSessions {
my %attributes;
foreach my $attr (keys %{$$sessions{$session}}) {
if ($attr eq 'luns') {
if ($attr eq 'luns') {
foreach my $lun (keys %{$$sessions{$session}->{'luns'}}) {
$attributes{"LUN $lun"}->{'value'} =
$attributes{"LUN $lun"}->{'value'} =
$$sessions{$session}->{'luns'}->{$lun};
}
} else {
@@ -3467,7 +3467,7 @@ sub listGroup {
} else {
print "\t(none)\n";
}
}
}
} else {
if (defined($group)) {
print "Group '$group' has no associated LUNs or initiators.\n";
@@ -4679,7 +4679,7 @@ sub addTargetDynamicAttribute {
my $rc = $SCST->addTargetDynamicAttribute($driver, $target, $attribute, $value);
print "done.\n";
condExit($SCST->errorString($rc));
condExit($SCST->errorString($rc));
return FALSE;
}
@@ -5373,7 +5373,7 @@ sub readConfigFile {
"I will attempt to convert it for you.\n\n";
return readOldConfigFile();
}
}
}
$line =~ s/\\(.)/\1/g;
@@ -5423,7 +5423,7 @@ sub parseStanza {
}
return \%hash;
}
}
sub parseLine {
my $line = shift;
@@ -5459,7 +5459,7 @@ sub readOldConfigFile {
my $last_section;
my $arg;
my $last_arg;
my %empty;
my %empty;
my $io = new IO::File $CONFIGFILE, O_RDONLY;
@@ -5479,7 +5479,7 @@ sub readOldConfigFile {
$arg = 'default' if ($section eq 'OPTIONS');
if ($last_arg && ($last_arg ne $arg) &&
!defined($config{$last_section}->{$last_arg})) {
!defined($config{$last_section}->{$last_arg})) {
$config{$last_section}->{$last_arg} = \%empty;
}
@@ -5779,7 +5779,7 @@ sub configToAttr {
}
return \%attributes;
}
}
sub cacheAttributes {
my $attributes = shift;

View File

@@ -54,18 +54,18 @@ Numer of read IOPS reported by fio with block size 4 KB and I/O depth 32:
+ blockdev-perftest -f -j -d -s 30 -m 12 /dev/sdb
blocksize W W W W(avg, W(std, W R R R R(avg, R(std, R
(bytes) (s) (s) (s) MB/s) MB/s) (IOPS) (s) (s) (s) MB/s) MB/s) (IOPS)
67108864 0.568 0.573 0.572 1793.371 6.800 28.021 0.373 0.372 0.372 2750.228 3.479 42.972
33554432 0.553 0.570 0.563 1822.346 22.683 56.948 0.374 0.374 0.373 2740.415 3.460 85.638
16777216 0.552 0.554 0.552 1852.840 3.157 115.803 0.387 0.384 0.384 2659.776 9.745 166.236
8388608 0.525 0.526 0.525 1949.240 1.748 243.655 0.411 0.409 0.410 2497.571 4.974 312.196
4194304 0.542 0.540 0.541 1892.795 2.857 473.199 0.433 0.437 0.428 2366.890 20.165 591.722
2097152 0.611 0.610 0.612 1675.944 2.240 837.972 0.517 0.512 0.511 1994.857 10.167 997.429
1048576 0.678 0.691 0.684 1496.437 11.609 1496.437 0.588 0.597 0.586 1734.727 13.989 1734.727
524288 0.946 0.941 0.947 1083.989 3.017 2167.977 0.808 0.784 0.788 1290.981 16.943 2581.961
262144 1.102 1.167 1.152 898.524 22.201 3594.096 0.968 0.964 0.970 1058.587 2.732 4234.349
131072 1.289 1.239 1.249 813.581 13.820 6508.648 1.076 1.074 1.071 953.745 1.826 7629.957
65536 1.599 1.604 1.608 638.540 1.466 10216.641 1.389 1.396 1.405 733.190 3.436 11731.045
32768 2.300 2.319 2.309 443.423 1.490 14189.537 1.976 2.004 1.967 516.595 4.088 16531.055
16384 3.780 3.777 3.788 270.780 0.332 17329.951 3.210 3.086 3.050 328.854 7.147 21046.655
8192 6.800 6.406 6.560 155.512 3.804 19905.533 5.409 5.250 5.272 192.865 2.533 24686.738
4096 12.368 12.240 11.924 84.111 1.298 21532.302 9.561 9.847 9.559 106.072 1.472 27154.518
67108864 0.568 0.573 0.572 1793.371 6.800 28.021 0.373 0.372 0.372 2750.228 3.479 42.972
33554432 0.553 0.570 0.563 1822.346 22.683 56.948 0.374 0.374 0.373 2740.415 3.460 85.638
16777216 0.552 0.554 0.552 1852.840 3.157 115.803 0.387 0.384 0.384 2659.776 9.745 166.236
8388608 0.525 0.526 0.525 1949.240 1.748 243.655 0.411 0.409 0.410 2497.571 4.974 312.196
4194304 0.542 0.540 0.541 1892.795 2.857 473.199 0.433 0.437 0.428 2366.890 20.165 591.722
2097152 0.611 0.610 0.612 1675.944 2.240 837.972 0.517 0.512 0.511 1994.857 10.167 997.429
1048576 0.678 0.691 0.684 1496.437 11.609 1496.437 0.588 0.597 0.586 1734.727 13.989 1734.727
524288 0.946 0.941 0.947 1083.989 3.017 2167.977 0.808 0.784 0.788 1290.981 16.943 2581.961
262144 1.102 1.167 1.152 898.524 22.201 3594.096 0.968 0.964 0.970 1058.587 2.732 4234.349
131072 1.289 1.239 1.249 813.581 13.820 6508.648 1.076 1.074 1.071 953.745 1.826 7629.957
65536 1.599 1.604 1.608 638.540 1.466 10216.641 1.389 1.396 1.405 733.190 3.436 11731.045
32768 2.300 2.319 2.309 443.423 1.490 14189.537 1.976 2.004 1.967 516.595 4.088 16531.055
16384 3.780 3.777 3.788 270.780 0.332 17329.951 3.210 3.086 3.050 328.854 7.147 21046.655
8192 6.800 6.406 6.560 155.512 3.804 19905.533 5.409 5.250 5.272 192.865 2.533 24686.738
4096 12.368 12.240 11.924 84.111 1.298 21532.302 9.561 9.847 9.559 106.072 1.472 27154.518

View File

@@ -63,10 +63,10 @@ kernel-ib, kernel-ib-devel and SRP tools packages. An example:
tar xzf OFED-1.5.1.tgz
cd OFED-1.5.1
cat <<EOF >ofed.conf
libibverbs=y
libibverbs-utils=y
libmthca=y
libmlx4=y
libibverbs=y
libibverbs-utils=y
libmthca=y
libmlx4=y
libcxgb3=y
libnes=y
libipathverbs=y
@@ -93,7 +93,7 @@ kernel-ib, kernel-ib-devel and SRP tools packages. An example:
srptools=y
perftest=y
EOF
./install.pl -c ofed.conf
./install.pl -c ofed.conf
Now continue with the installation instructions you can find in the
SCST-SRPT README file. The Makefile included with SCST-SRPT detects

View File

@@ -61,7 +61,7 @@ Index: srpt/src/ib_srpt.c
+ rsp->req_lim_delta = cpu_to_be32(ch->rq_size + 16);
ch->req_lim = ch->rq_size;
ch->req_lim_delta = 0;
* Verify that a SCSI reset works properly by running the following command
on an initiator system (note: with kernel version 2.6.37 and before the
command below triggers a bug in the Linux SRP initiator -- see also

View File

@@ -1020,7 +1020,7 @@ static int srpt_adjust_sq_wr_avail(struct srpt_rdma_ch *ch, int delta)
/**
* srpt_post_send - post an IB send request
* @ch: SRPT RDMA channel.
* @ioctx: I/O context.
* @ioctx: I/O context.
* @len: Length in bytes of request to send.
*
* Returns zero upon success and a non-zero value upon failure.

View File

@@ -36,5 +36,5 @@ Summary of changes between versions 1.0.0 and 1.0.1
SCST_USER_FLUSH_CACHE and SCST_USER_DEVICE_CAPACITY_CHANGED added
- Sync with vdisk handler
- Added autogenerated SCSI SN

View File

@@ -23,7 +23,7 @@ SHELL=/bin/bash
SRCS_F = fileio.c common.c debug.c crc32.c
OBJS_F = $(SRCS_F:.c=.o)
#SRCS_C =
#SRCS_C =
#OBJS_C = $(SRCS_C:.c=.o)
SCST_INC_DIR := $(shell if [ -e "$$PWD/../../scst" ]; \

View File

@@ -37,10 +37,10 @@ fileio_tgt [OPTION] name path
Where:
- OPTION - one or several not required options, see below.
- name - name of the virtual device as it will be seen by SCST and used
in the subsequent access management using the corresponding SCST interface.
- path - path to the device file.
The following options are supported:

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCSI Targets Comparison</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li id="current"><a href="comparison.html">Comparison</a></li>
<li id="current"><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Comparison</h1>
<ul class="sidemenu">
@@ -40,8 +40,8 @@
<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
<li><a href="mc_s.html">MC/S vs MPIO</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>Features comparison between Linux SCSI targets</h1>
@@ -69,88 +69,88 @@
<td colspan="5"> <b>General</b>
</td></tr>
<tr>
<td align="left"><b>Upstream kernel</b></td> <td> - </td> <td> - </td> <td> - </td> <td> <a href="scstvslio.html">Since 2.6.38</a></td>
</tr>
<tr>
<td align="left"><b>Generic Target Engine</b></td> <td> + </td> <td> + </td> <td> iSCSI only </td> <td> + </td>
<td align="left"><b>Upstream kernel</b></td> <td> - </td> <td> - </td> <td> - </td> <td> <a href="scstvslio.html">Since 2.6.38</a></td>
</tr>
<tr>
<tr>
<td align="left"><b>Generic Target Engine</b></td> <td> + </td> <td> + </td> <td> iSCSI only </td> <td> + </td>
</tr>
<tr>
<td align="left"><b>Architecture</b></td> <td> Kernel only</td> <td> User space only </td> <td> Split <sup>
<A HREF="#1">1</A>
</sup> </td> <td> Kernel only </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>Stability</b></td> <td> + </td> <td> + </td> <td> + </td> <td> Probably </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>Performance <sup><A HREF="#2">2</A></sup></b></td> <td> ***** <sup>
<A HREF="#3">3</A>
</sup></td> <td> ***</td> <td> **** </td> <td> ****- </td>
</tr>
<tr>
</tr>
<tr>
<th align="left"> Zero-copy passing data between target and
backend drivers</th> <td> + <sup>
<A HREF="#4">4</A>
</sup></td> <td> + <sup>
<A HREF="#5">5</A>
</sup> </td> <td> + </td> <td> + </td>
<A HREF="#5">5</A>
</sup> </td> <td> + </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>Support for transports without expecting
transfer values (Wide (parallel) SCSI, SAS)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>Interface with user space</b></td> <td> SysFS (or obsolete
ProcFS)</td> <td> Custom </td> <td> - </td> <td> ConfigFS/IOCTL/ProcFS </td>
</tr>
</tr>
<tr bgcolor="#E0E0E0">
<tr bgcolor="#E0E0E0">
<td colspan="5"><b>Features</b>
</td></tr>
<tr>
<tr>
<td align="left"><b>Target drivers in kernel space</b></td> <td> + </td> <td> - </td> <td> - </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>Target drivers in user space</b></td> <td>Via scst_local (e.g.
using STGT
pass-through)</td> <td> + </td> <td> - </td> <td>Via tcm_loop (e.g.
using STGT pass-through)</td>
</tr>
<tr>
<tr>
<td align="left"><b>Backstorage handlers in kernel space</b></td> <td> + </td> <td> - </td> <td> - </td> <td> + </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>Backstorage handlers in user space</b></td> <td>+</td> <td> + </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Advanced devices access control
</tr>
<tr>
<td align="left"><b>Advanced devices access control
<sup><A HREF="#7">7</A></sup></b></td> <td> + </td> <td> - </td> <td> - </td> <td> + </td>
</tr>
<tr>
<td align="left"><b>Automatic sessions reassignment (changes in the
access control immediately seen by initiators)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Support for Asynchronous Event Notifications
(AEN)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Notifications for devices added/removed or
resized through AENs or Unit Attentions (initiators can instantly see
any target reconfiguration in a PnP-like manner)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Bidirectional Commands</b></td> <td> +</td> <td> + </td> <td> - </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>Extended CDB (size >16 bytes)</b></td> <td> +</td> <td> + </td> <td> - </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>Descriptor sense support</b></td> <td> + </td> <td> + </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>RESERVE/RELEASE
<td align="left"><b>RESERVE/RELEASE
(Windows 2003 clustering)</b></td> <td> + </td> <td> + </td> <td> + </td> <td> + </td>
</tr>
<tr>
@@ -159,12 +159,12 @@ SCSI requirements <sup><A HREF="#9">9</A></sup></b></td> <td> Safe </td> <td>
v1.4.18</td> <td> Not safe </td>
</tr>
<tr>
<td align="left"><b>Safe implementation of Task Management commands
<td align="left"><b>Safe implementation of Task Management commands
<sup><A HREF="#10">10</A></sup></b></td> <td> Safe </td> <td> Not safe </td> <td> Not safe </td> <td> LUN RESET - safe.
Other TM commands not
implemented. </td>
</tr>
<tr>
<tr>
<td align="left"><b>Support for SCSI task attributes, including
ORDERED commands</b></td> <td> + </td> <td> + </td> <td> -, <br> data
corruption possible
@@ -173,8 +173,8 @@ ORDERED commands</b></td> <td> + </td> <td> + </td> <td> -, <br> data
corruption possible
<sup><A HREF="#11">
11</A></sup> </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>Persistent (SCSI-3) Reservations
(Windows 2008 clustering / RHEL5 I/O fencing)</b></td> <td> + </td> <td> + <br> (not all
functionality
@@ -183,108 +183,108 @@ ORDERED commands</b></td> <td> + </td> <td> + </td> <td> -, <br> data
<td align="left"><b>Durable, i.e. transactional, save of Persistent
Through Power Loss Persistent Reservation data</b></td> <td> Durable </td> <td>Not supported</td> <td> - </td> <td> Not durable </td>
</tr>
<tr>
<tr>
<td align="left"><b>ALUA</b></td> <td> +/- (Implicit
only)<sup>
<A HREF="#19">19</A>
</sup> </td> <td> - </td> <td> - </td> <td> +/-<sup><A HREF="#19">
19</A></sup></td>
</tr>
<tr>
<td align="left"><b>Failover Clustering</b></td> <td> + </td> <td> + </td> <td> + </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>Failover Clustering</b></td> <td> + </td> <td> + </td> <td> + </td> <td> + </td>
</tr>
<tr>
<td align="left"><b>Different threading models to choose the best
performing</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
</tr>
<tr>
<td align="left"><b>CPU affinity control</b></td> <td> + </td> <td> - </td> <td> - </td> <td> + </td>
</tr>
<tr>
<td align="left"><b>I/O context grouping between I/O threads (big
performance win with CFQ)</b></td> <td> + </td> <td> - </td> <td> + </td> <td> - </td>
performance win with CFQ)</b></td> <td> + </td> <td> - </td> <td> + </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Per-initiator I/O context grouping (big
performance and fairness win if several initiators access the same
virtual or backend device on the target)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
virtual or backend device on the target)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Protection against commands with
wrong transfer size or transfer direction (may lead to crash or
hard lockup of the target)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Protection against crashing target by making it
to allocate too much memory for buffers and go into OOM state
</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Caching of allocated buffers</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
hard lockup of the target)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Latencies measurement facility</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
<td align="left"><b>Protection against crashing target by making it
to allocate too much memory for buffers and go into OOM state
</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Caching of allocated buffers</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Latencies measurement facility</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Configuration tool with ability to automatically
apply changes in the config file on fly without any restarts</b></td> <td> scstadmin </td> <td> - </td> <td> - </td> <td> rtsadmin? </td>
</tr>
<tr>
<td align="left"><b>SCSI MIBs</b></td> <td> - </td> <td> - </td> <td> - </td> <td> +-
<tr>
<td align="left"><b>SCSI MIBs</b></td> <td> - </td> <td> - </td> <td> - </td> <td> +-
<sup><A HREF="#12">12</A></sup></td>
</tr>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Supported transports and hardware</b>
</td></tr>
<tr>
</tr>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Supported transports and hardware</b>
</td></tr>
<tr>
<td align="left"><b>iSCSI</b></td> <td> + </td> <td> + </td> <td> + </td> <td> + </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>QLogic (Fibre Channel and FCoE)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> +</td>
</tr>
<tr>
<td align="left"><b>Emulex (Fibre Channel and FCoE)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>SRP</b></td> <td> + </td> <td> - </td> <td> - </td> <td> Preliminary </td>
</tr>
<tr>
<td align="left"><b>iSER</b></td> <td> + </td> <td> + </td> <td> - </td> <td> + </td>
</tr>
<tr>
<td align="left"><b>Marvell (SAS)</b></td> <td> Beta </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>iSER</b></td> <td> + </td> <td> + </td> <td> - </td> <td> + </td>
</tr>
<tr>
<td align="left"><b>Marvell (SAS)</b></td> <td> Beta </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>FCoE</b></td> <td> + </td> <td>Under
development</td> <td> - </td> <td> Alpha </td>
</tr>
<tr>
development</td> <td> - </td> <td> Alpha </td>
</tr>
<tr>
<td align="left"><b>LSI (Parallel (Wide) SCSI and Fibre Channel)
</b></td> <td> Alpha </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>LSI (SAS)</b></td> <td> Preliminary
(not completed) </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>IBM pSeries Virtual SCSI</b></td> <td> + </td> <td> + </td> <td> - </td> <td> Preliminary </td>
</tr>
<tr>
<td align="left"><b>Local access to emulated backstorage devices
<tr>
<td align="left"><b>Local access to emulated backstorage devices
<sup><A HREF="#6">6</A></sup></b></td> <td> scst_local </td> <td> - </td> <td> - </td> <td> tcm_loop </td>
</tr>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Supported backstorage</b>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Supported backstorage</b>
</td></tr>
<tr>
<tr>
<td align="left"><b>Kernel side FILEIO</b></td> <td> + </td> <td> - </td> <td> + </td> <td> + </td>
</tr>
<tr>
<td align="left"><b>Kernel side BLOCKIO</b></td> <td> + </td> <td> - </td> <td> + </td> <td> + </td>
<tr>
<td align="left"><b>Kernel side BLOCKIO</b></td> <td> + </td> <td> - </td> <td> + </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>User space FILEIO</b></td> <td> + </td> <td> + </td> <td> - </td> <td> - </td>
</tr>
<tr>
@@ -296,7 +296,7 @@ apply changes in the config file on fly without any restarts</b></td> <td> scsta
<tr>
<td align="left"><b>Native RAMDISK</b></td> <td> - </td> <td> - </td> <td> - </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>SCSI pass-through
<sup><A HREF="#13">13</A></sup></b></td> <td> + </td> <td> Single
initiator only, not
@@ -306,17 +306,17 @@ apply changes in the config file on fly without any restarts</b></td> <td> scsta
limited functionality for tapes
<sup><A HREF="#14">14</A></sup></td>
</tr>
<tr>
<tr>
<td align="left"><b>Zero-copy data read/write to/from backstorage
</b></td> <td>BLOCKIO, user space
FILEIO in O_DIRECT mode,
pass-through <sup>
<A HREF="#15">15</A>
</sup></td> <td> - <sup>
<A HREF="#5">5</A>
<A HREF="#5">5</A>
</sup> </td> <td> BLOCKIO </td> <td> BLOCKIO, pass-
through </td>
</tr>
through </td>
</tr>
<tr>
<td align="left"><b>Cache safe<sup><A HREF="#8">8</A></sup>
FILEIO</b></td> <td> Safe </td> <td>Safe only RDWR
@@ -326,68 +326,68 @@ FILEIO</b></td> <td> Safe </td> <td>Safe only RDWR
<td align="left"><b>Cache safe<sup><A HREF="#8">8</A></sup>
BLOCKIO</b></td> <td> Safe </td> <td> - </td> <td> Not safe </td> <td> Safe </td>
</tr>
<tr>
<tr>
<td align="left"><b>4k sectors support in pass-through mode</b></td> <td> + </td> <td> - </td> <td> - </td> <td> ? </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>4k, 2k, 1k and 512 byte sectors emulation
in modes, other than pass-through</b></td> <td> + </td> <td> + </td> <td> - </td> <td> + </td>
</tr>
<tr>
<tr>
<td align="left"><b>Virtual CD devices emulation from ISO files
</b></td> <td> + </td> <td> + </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Possibility to write to emulated from ISO files
CD devices</b></td> <td> - </td> <td> + </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Emulation of virtual tape and media changer
devices (VTL)</b></td> <td> - </td> <td>Experimental</td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Thin provisioning support</b></td> <td>+<br></td> <td> ? </td> <td> - </td> <td> + </td>
</tr>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>iSCSI Target</b>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>iSCSI Target</b>
</td></tr>
<tr>
<tr>
<td align="left"><b>Architecture</b></td> <td> Split <sup>
<A HREF="#1">1</A>
</sup> </td> <td> User space
</sup> </td> <td> User space
only </td> <td> Split <sup>
<A HREF="#1">1</A>
</sup></td> <td> Kernel only </td>
</tr>
<tr>
<tr>
<td align="left"><b>Interface with user space</b></td> <td>SysFS (or obsolete
ProcFS)/
IOCTL/Netlink</td> <td> - </td> <td>IOCTL/ProcFS/
Netlink</td> <td> ConfigFS/IOCTL/ProcFS </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b>Zero-copy data send/receive</b></td> <td> Send only<sup>
<A HREF="#16">16</A>
</sup> </td> <td> In some cases,
send only <sup>
<A HREF="#5">5</A>
<A HREF="#5">5</A>
</sup> </td> <td> Send only</td> <td> Send only </td>
</tr>
<tr>
</tr>
<tr>
<td align="left"><b><a href="mc_s.html">Multiple connections per
session (MS/C)</a></b></td> <td> - </td> <td> - </td> <td>+</td> <td> + </td>
</tr>
<tr>
<td align="left"><b>Max ErrorRecoveryLevel</b></td> <td> 0 </td> <td> 0 </td> <td> 0 </td> <td> 2 </td>
</tr>
</tr>
<tr>
<td align="left"><b>Max ErrorRecoveryLevel</b></td> <td> 0 </td> <td> 0 </td> <td> 0 </td> <td> 2 </td>
</tr>
<tr>
<td align="left"><b>Support for limiting number of initiators
allowed to connect to a target</b></td> <td> + </td> <td> - </td> <td> + </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Per-portal targets visibility control</b></td> <td> + </td> <td> - </td> <td> + </td> <td> - </td>
</tr>
</tr>
<tr>
<td align="left"><b>Per-initiators targets visibility control</b></td> <td> + </td> <td> + </td> <td> + </td> <td> - </td>
</tr>
@@ -397,27 +397,27 @@ allowed to connect to a target</b></td> <td> + </td> <td> - </td> <td> + <
<tr>
<td align="left"><b>Support for iSCSI redirects</b></td> <td> + </td> <td> + </td> <td> + </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Bidirectional Commands</b></td> <td> + </td> <td> + </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Extended CDB (size >16 bytes)</b></td> <td> + </td> <td> + </td> <td> - </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Support for AENs (initiators can instantly see any
target reconfiguration in a PnP-like manner)</b></td> <td> + </td> <td> - </td> <td> - </td> <td> - </td>
</tr>
<tr>
<tr>
<td align="left"><b>Support for iSNS</b></td> <td> + </td> <td> + </td> <td> + </td> <td> - </td>
</tr>
<tr>
<td align="left"><b>Safe implementation of Task Management commands
<td align="left"><b>Safe implementation of Task Management commands
<sup><A HREF="#10">10</A></sup></b></td> <td> Safe </td> <td> Not safe </td> <td> Not safe </td> <td> ABORT TASK - not safe,
LUN RESET - safe,
other TM commands not
implemented. </td>
</tr>
<tr>
<tr>
<td align="left"><b>Safe implementation of connections and sessions
reinstatement <sup><A HREF="#17">17</A></sup></b></td> <td> Safe </td> <td> Not safe </td> <td> Not safe </td> <td> Not safe </td>
</tr>
@@ -435,11 +435,11 @@ calculations, if available</b></td> <td> + </td> <td> - </td> <td> - </td>
v1.4.18. After -
probably safe.</td> <td> ?</td>
</tr>
<tr>
<td align="left"><b>iSCSI MIBs</b></td> <td> - </td> <td> - </td> <td> - </td> <td> +-
<tr>
<td align="left"><b>iSCSI MIBs</b></td> <td> - </td> <td> - </td> <td> - </td> <td> +-
<sup><A HREF="#12">12</A></sup></td>
</tr>
<tr bgcolor="#E0E0E0">
</tr>
<tr bgcolor="#E0E0E0">
<td colspan="5"> <b>Local access target</b>
</td></tr>
<tr>
@@ -487,7 +487,7 @@ target reconfiguration in a PnP-like manner)</b></td> <td> + </td> <td> - </t
<p><A NAME="9"></A> 9. 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
reservation data, which can corrupt them. This is what was called
<a href="http://communities.vmware.com/thread/53797?tstart=0&amp;start=15">"Russian roulette with your data"</a> on the VMware
community forum by someone working for VMware. But, sure, it can affect not only VMware, but also any other cluster
implementation, relying on this functionality.</p>
@@ -540,15 +540,15 @@ target reconfiguration in a PnP-like manner)</b></td> <td> + </td> <td> - </t
<p><A NAME="19"></A> 19. Generic implementation, i.e. not coupled to any particular cluster implementation, which means it is needed additional effort
to used with each particular cluster setup.</p>
</div>
</div>
</div>
</div>
</div>
<!-- wrap ends here -->
<!-- footer starts here -->
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -4,15 +4,15 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST Contributing</title>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
@@ -22,11 +22,11 @@
<li><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li id="current"><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<div id="content-wrap">
</div>
<div id="content-wrap">
<div id="main">
<h1>Contributing to SCST</h1>
@@ -38,14 +38,14 @@
better support and troubleshooting for you. If you want to donate another amount, than listed on the
provided buttons, you can directly edit URL they are pointing to.</span></li>
<li><span>By sending patches, which fix bugs or implement new functionality.
See below a list of possible SCST improvements with some possible
See below a list of possible SCST improvements with some possible
implementation ideas.</span></li>
<li><span>By writing or updating various documentation to keep it complete and up to date.
For instance, <a href="scst_pg.html">SCST internals description</a> document is
in some areas quite outdated. Particularly, many functions were renamed since
time, when it was written. It would be good to bring it up to date.</span></li>
<li><span>By reporting bugs or other problems.</span></li>
</ul>
</ul>
<h1>Possible SCST extensions and improvements</h1>
@@ -76,7 +76,7 @@
by page_cache_get(). That's all.</p>
<A NAME="SG_LIMIT"></A><h3>Solve SG IO count limitation issue in pass-through mode</h3>
<p>In the pass-through mode (i.e. using the pass-through device handlers like
scst_tape, etc.) SCSI commands, coming from remote initiators,
are passed to local SCSI hardware on target as is, without any
@@ -86,12 +86,12 @@
split them on subcommands and, hence, workaround this problem, but it isn't
always possible. For instance, for tapes splitting write commands may mean
corrupting the tape data.</p>
<p>If you have this issue you will see
symptoms like small transfers work well, but large transfers stall and
messages like: "Unable to complete command due to SG IO count
limitation" are printed in the kernel logs.</p>
<p>The only complete way to fix this problem is to allocate data buffers with number
of entries inside the SG IO count limitation. In <a href="sgv_big_order_alloc.diff">sgv_big_order_alloc.diff</a>
you can find a possible way to solve this issue.</p>
@@ -104,43 +104,43 @@
<p>Note, scst_disk handler already implements a workaround for it.</p>
<A NAME="MEM_REG"></A><h3>Memory registration</h3>
<p>In some cases a target driver might need to register memory used for data buffers in the
hardware. At the moment, none of SCST target drivers, including InfiniBand SRP target driver,
need that feature. But in case if in future there is a need in such a feature, it can be easily
added by extending SCST SGV cache. The SCST SGV cache is a memory management
added by extending SCST SGV cache. The SCST SGV cache is a memory management
subsystem in SCST. It doesn't free to the system each data buffer,
which is not used anymore, but keeps it for a while to let it be reused by the
which is not used anymore, but keeps it for a while to let it be reused by the
next consecutive command to reduce command processing latency and, hence, improve performance.</p>
<p>To support memory buffers registrations, it can be extended by the following way:</p>
<p>1. Struct scst_tgt_template would be extended to have 2 new callbacks:</p>
<ul>
<li><span>int register_buffer(struct scst_cmd *cmd)</span></li>
<li><span>int unregister_buffer(unsigned long mem_priv, void *scst_priv)</span></li>
</ul>
<p>2. SCST core would be extended to have 4 new functions:</p>
<ul>
<li><span>int scst_mem_registered(struct scst_cmd *cmd)</span></li>
<li><span>int scst_mem_deregistered(void *scst_priv)</span></li>
<li><span>int scst_set_mem_priv(struct scst_cmd *cmd, unsigned long mem_priv)</span></li>
<li><span>unsigned long scst_get_mem_priv(struct scst_cmd *cmd)</span></li>
</ul>
<p>3. The workflow would be the following:</p>
<ol>
<li><span>If target driver defined register_buffer() and unregister_buffer() callbacks,
SCST core would allocate a dedicated SGV cache for each instance of struct scst_tgt,
@@ -149,31 +149,31 @@
<li><span>When there would be an SGV cache miss in memory buffer for a command allocation,
SCST would check if register_buffer() callback was defined in the target driver's template
and, if yes, would call it.</span></li>
<li><span>In register_buffer() callback the target driver would do necessary actions to
start registration of the commands memory buffer.</span></li>
<li><span>Upon register_buffer() callback returns, SCST core would suspend processing the
corresponding command and would switch to the next commands processing.</span></li>
<li><span>After the memory registration finished, the target driver would call scst_set_mem_priv()
to associate the memory buffer with some internal data.</span></li>
<li><span>Then the target driver would call scst_mem_registered() and SCST would resume processing
the command. Functions scst_set_mem_priv() and scst_mem_registered() can be called from inside register_buffer().
In this case SCST core would continue processing the command immediately without suspending.</span></li>
<li><span>After the command finished, the corresponding memory buffer would remain in the
SGV cache in the registered state and would be reused by the next commands. For each of them
the target driver can at any time figure out the associated with the registered buffer data
by using scst_get_mem_priv().</span></li>
<li><span>When the SGV cache decide that there is a time to free the memory buffer, it would
call the target driver's unregister_buffer() callback.</span></li>
<li><span>In this callback the target driver would do necessary actions to start deregistration of the
commands memory buffer.</span></li>
<li><span>Upon unregister_buffer() callback returns, SGV cache would suspend freeing the corresponding buffer
and would switch to other deals it has.</span></li>
@@ -185,13 +185,13 @@
</ol>
<A NAME="NON_SCSI_TGT"></A><h3>SCST usage with non-SCSI transports</h3>
<p>SCST might also be used with non-SCSI speaking transports, like NBD or AoE. Such cooperation
would allow them to use SCST-emulated backend.</p>
<p>For user space targets this is trivial: they simply should use SCST-emulated devices locally
via scst_local module.</p>
<p>For in-kernel non-SCSI target driver it's a bit more complicated. They should implement a small layer,
which would translate their internal READ/WRITE requests to corresponding SCSI commands and, on the
way back, SCSI status and sense codes to their internal status codes.</p>
@@ -207,11 +207,11 @@
</div>
</div>
<!-- wrap ends here -->
<!-- footer starts here -->
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST Downloads</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li><a href="targets.html">Drivers</a></li>
<li id="current"><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="main">
<h1>SCST Downloads</h1>
@@ -45,11 +45,11 @@
<a href="https://launchpad.net/~ast/+archive/scst2">Ubuntu</a>,
<a href="http://www.motschke.de/debian/packages">Debian</a>,
<a href="http://alpine.nethq.org/distfiles/alpine-scst-110210-x86_64.iso">Alpine Linux</a> and
<a href="http://download.opensuse.org/repositories/home:/oertel/">openSUSE</a>
<a href="http://download.opensuse.org/repositories/home:/oertel/">openSUSE</a>
(<a href="https://build.opensuse.org/package/view_file?file=scst.spec&amp;package=scst&amp;project=home%3Aoertel">spec</a>).</p>
<p>Since recently, SCST allows to build Debian packages using "make dpkg" command. Previous instructions how to build
SCST DKMS package for Debian-based systemd-enabled Linuxes you can find
SCST DKMS package for Debian-based systemd-enabled Linuxes you can find
<a href="https://sites.google.com/site/nandydandyoracle/scst/scst-debian-dkms-package-build-from-source-ubuntu-17-04">here</a>.</p>
<p>As a complete SCST-based system you can try <a href="http://www.esos-project.com/">Enterprise Storage OS (ESOS)</a>.</p>
@@ -62,11 +62,11 @@
<p><code>svn checkout svn://svn.code.sf.net/p/scst/svn/trunk scst-trunk</code></p>
<p>Also you can find in the SCST SVN the latest updates for the stable branches. More information about accessing SVN repository may be found
<p>Also you can find in the SCST SVN the latest updates for the stable branches. More information about accessing SVN repository may be found
<a href="https://sourceforge.net/p/forge/documentation/svn/">here</a>. Or, alternatively, you can download it as a GNU tarball from
<a href="http://sourceforge.net/p/scst/svn/HEAD/tarball?path=/branches/3.3.x">here</a>.</p>
<p>History of the pre-SVN SCST development is available in SCST CVS repository, which is accessible using
<p>History of the pre-SVN SCST development is available in SCST CVS repository, which is accessible using
<a href="http://scst.cvs.sourceforge.net">web-based CVS repository viewer</a>, or anonymous CVS access.</p>
<p class="post-footer align-right">
@@ -76,12 +76,12 @@
</p>
</div>
</div>
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>FILEIO Target SCST Handler</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,12 +25,12 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
@@ -51,8 +51,8 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>FILEIO_TGT handler</h1>
@@ -65,21 +65,21 @@
loads it could be significantly faster, than the regular FILEIO access.
All the words about BLOCKIO mode from SCST's README file apply to
O_DIRECT mode as well.</p>
<p>You can find the latest development version of this handler in the SCST SVN. See the download page how to setup
<p>You can find the latest development version of this handler in the SCST SVN. See the download page how to setup
access to it.</p>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
</p>
</div>
</div>
</div>
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018 <b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -1,6 +1,6 @@
* { margin: 0; padding: 0; }
body {
body {
margin: 0; padding: 0;
font: 71%/1.5em Verdana, 'Trebuchet MS', Arial, Sans-serif;
background: url(headerbg-orange.gif) repeat-x;
@@ -60,7 +60,7 @@ img.float-left { margin: 5px 15px 5px 0px; }
a img { border: 0px solid #EC981F; }
a:hover img { border: 0px solid #806B4D !important;border: 0px solid #EC981F; }
code {
code {
margin: 5px 0;
padding: 10px;
text-align: left;
@@ -324,7 +324,7 @@ div.logoimg {
}
/* Font colors */
font.names { color: #EC981F ; }
font.names { color: #EC981F ; }
/* Company Logo Boxes */
.companybox {

View File

@@ -6,15 +6,15 @@
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<meta name="verify-v1" content="N5TwpSXr8cNkQf0gvE3F3sv+TPHL15k4dTo+ZQCeV9Q=">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST: A Generic SCSI Target Subsystem for Linux</title>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id="slogan">Generic SCSI Target Subsystem for Linux</h2>
<h2 id="slogan">Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
@@ -24,17 +24,17 @@
<li><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
</div>
<div id="content-wrap">
<div id="main">
<h1>Generic SCSI Target Subsystem for Linux</h1>
<p>The generic SCSI target subsystem for Linux (SCST) allows creation of sophisticated storage devices
from any Linux box. Those
devices can provide advanced
devices can provide advanced
functionality, like replication, thin provisioning,
deduplication, high availability,
automatic backup, etc. Another class of such devices
@@ -50,48 +50,48 @@
<p>SCST project consists from a set of subprojects: generic SCSI target mid-layer itself (SCST core)
with a set of device handlers as well as target drivers
and user space utilities.
<h1>Features of SCST Core</h1>
<ul>
<ul>
<li><span>SCST core provides unified,
consistent interface between SCSI target drivers and
consistent interface between SCSI target drivers and
Linux kernel as well as between Linux kernel and storage backend
handlers, connecting target drivers with real or emulated storage backend.</span></li>
<li><span>SCST core performs all required pre- and post- processing of incoming requests as well as
necessary error recovery.</span></li>
<li><span>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
<li><span>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.</span></li>
<li><span>Very low overhead and fine-grained locks allow to reach the
maximum performance and scalability. Particularly, incoming requests can be processed in
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.</span></li>
<li><span>Device handlers architecture allows various I/O
modes in backstorage handling. For example, pass-through device handlers allow to export real
<li><span>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.</span></li>
<li><span>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
<li><span>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
the same target T could see devices Y read-only and Z read-writable.
This feature is required for hardware targets, which don't have ability to create
virtual targets (SAS adapters, for instance).</span></li>
<li><span>SCST core emulates necessary functionality of SCSI host adapter, because from remote initiators' point of view
a SCSI target acts as a SCSI host with its own devices. This is especially important in pass-through mode with
one to many relationship, i.e. when multiple initiators can connect to the exported pass-through
devices. You can find more deep elaboration why it is needed in <a href="http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg06911.html">this</a>
<li><span>SCST core emulates necessary functionality of SCSI host adapter, because from remote initiators' point of view
a SCSI target acts as a SCSI host with its own devices. This is especially important in pass-through mode with
one to many relationship, i.e. when multiple initiators can connect to the exported pass-through
devices. You can find more deep elaboration why it is needed in <a href="http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg06911.html">this</a>
message in thread "Question for pass-through target design" in linux-scsi mailing list. Some of the emulated functions are the following:</span>
<ul>
<li><span>Generation of necessary UNIT ATTENTIONs, their storage and delivery to all connected
remote initiators.</span></li>
<li><span>Generation of necessary UNIT ATTENTIONs, their storage and delivery to all connected
remote initiators.</span></li>
<li><span>RESERVE/RELEASE functionality.</span></li>
<li><span>All types of RESETs and other task management functions.</span></li>
<li><span>REPORT LUNS command as well as SCSI address space management in order to have consistent
<li><span>REPORT LUNS command as well as SCSI address space management in order to have consistent
address space on all remote initiators, since local SCSI devices could not know about each
other to report via REPORT LUNS command. Additionally, SCST core responds with error on all
commands to non-existing devices and provides access control, so different remote
other to report via REPORT LUNS command. Additionally, SCST core responds with error on all
commands to non-existing devices and provides access control, so different remote
initiators could see different set of devices.</span></li>
<li><span>Other necessary functionality (task attributes, etc.) as specified in SCSI standards.</span></li>
@@ -100,41 +100,41 @@
<li><span>SCST core has multithreaded design and complete SMP support, so, if necessary, all your CPU cores will participate in the commands
processing.</span></li>
<li><span>Well documented.</span></li>
</ul>
<p>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
<li><span>Well documented.</span></li>
</ul>
<p>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, 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 passed through SCST core.</p>
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.</p>
<p>You can find comparison of SCST with other SCSI targets on the <a href="comparison.html">Comparison</a> page.
Some highlights what it can mean for end users you can find on the <a href="target_iscsi.html">iSCSI-SCST</a> page.
<h1>SCST core supports the following I/O modes</h1>
<ul>
<li><span>Pass-through mode with one to many relationship, i.e. when multiple initiators can
connect to the exported pass-through devices, for virtually all SCSI devices types: disks (type 0),
tapes (type 1), processors (type 3), CDROMs (type 5), MO disks (type 7), medium changers (type 8) and RAID
<li><span>Pass-through mode with one to many relationship, i.e. when multiple initiators can
connect to the exported pass-through devices, for virtually all SCSI devices types: disks (type 0),
tapes (type 1), processors (type 3), CDROMs (type 5), MO disks (type 7), medium changers (type 8) and RAID
controllers (type 0xC). In this mode you can, for instance, share your parallel SCSI tape or SATA
DVD-RW device to your iSCSI network.</span></li>
<li><span>FILEIO mode, which allows to use files on file systems or block devices as virtual
<li><span>FILEIO mode, which allows to use files on file systems or block devices as virtual
remotely available SCSI disks or CDROMs with benefits of the Linux cache.</span></li>
<li><span>BLOCKIO mode, which performs direct block IO with a block device, bypassing
page-cache for all operations. This mode works well with high-end storage HBAs and for applications that
<li><span>BLOCKIO mode, which performs direct block IO with a block device, bypassing
page-cache for all operations. This mode works well with high-end storage HBAs and for applications that
either do not need caching between application and disk or need the large block throughput.</span></li>
<li><span>User space mode using scst_user device handler, which allows to implement in the
<li><span>User space mode using scst_user device handler, which allows to implement in the
user space high performance virtual SCSI devices. Comparing with fully in-kernel dev handlers
this mode has very low overhead (few %%).</span></li>
<li><span>Performance testing device handlers as well as NULLIO mode to provide
a way for direct performance measurements without overhead of actual data
transfers from/to underlying SCSI devices.
</span></li>
</ul>
</ul>
<h1>Certification</h1>
<p>SCST core engine has passed VMware certification as part of
<a href="http://scalecomputing.com/products">Scale&rsquo;s Intelligent Clustered Storage</a> technology
and <a href="http://www.iss-integration.com/supercore.html">ISS STORCIUM</a> solution. It also has passed
@@ -142,7 +142,7 @@
and storage arrays developed by <a href="http://www.open-e.com/">Open-E, Inc</a>.</p>
<p>In October 2012 Hewlett-Packard ProLiant BL465c Gen8 witrh SCST-based storage earned the maximum
score 59.99@62 tiles in <a href="http://www.vmware.com/a/vmmark">VMmark Version 2.1.1</a>.
score 59.99@62 tiles in <a href="http://www.vmware.com/a/vmmark">VMmark Version 2.1.1</a>.
In June 2016 this result was updated by <a href="http://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/vmmark/2016-06-07-HPE-ProLiant-DL580G9.pdf">HPE ProLiant DL580 Gen9</a></p>
</div>
<div id="rightbar">
@@ -163,14 +163,14 @@
<p><a href="http://marcitland.blogspot.com/2014/07/open-storage-dual-controller-oss-disk.html">Open Storage: Dual-Controller OSS Disk Array</a></p>
<h1>SCST 0.9.6 graphs</h1>
<p><a href="images/init_scst.png">init_scst</a></p>
<p><a href="images/scst_cmd_thread.png">scst_cmd_thread</a></p>
<p><a href="images/scst_cmd_thread.png">scst_cmd_thread</a></p>
<p><a href="images/scst_mgmt_cmd_thread.png">scst_mgmt_cmd_thread</a></p>
<p><a href="images/scst_mgmt_thread.png">scst_mgmt_thread</a></p>
<p>all by Ming Zhang</p>
<h1>QUESTIONS</h1>
<p>If you have any questions you can ask them via<br><a href="http://lists.sourceforge.net/lists/listinfo/scst-devel">
scst-devel mailing list</a><br><br>
See <a href="http://sourceforge.net/mail/?group_id=110471">mailing lists page</a> for more info about SCST mailing
scst-devel mailing list</a><br><br>
See <a href="http://sourceforge.net/mail/?group_id=110471">mailing lists page</a> for more info about SCST mailing
lists.</p>
<h1></h1>
<p><a href="http://sourceforge.net/donate/index.php?group_id=110471">
@@ -184,12 +184,12 @@
</p>
</div>
</div>
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -3,23 +3,23 @@
latency links.
Let's consider we have a 1Gbps network between initiator and target with
10ms latency (a good near distance WAN/Internet to another building in
the same town). We want to send backup from the initiator to a tape or
Let's consider we have a 1Gbps network between initiator and target with
10ms latency (a good near distance WAN/Internet to another building in
the same town). We want to send backup from the initiator to a tape or
tape library on the target. We are limited to send only 1 write command
at time, because our tape doesn't allow more. We will send 2MB of data
in each command.
Our initiator and target negotiated typical values InitialR2T No,
ImmediateData Yes, FirstBurstLength 65536, MaxBurstLength 262144. Other
parameters don't matter for our task, except MaxOutstandingR2T. Let we
can run 2 pieces of iSCSI target software on the target: one supporting
Our initiator and target negotiated typical values InitialR2T No,
ImmediateData Yes, FirstBurstLength 65536, MaxBurstLength 262144. Other
parameters don't matter for our task, except MaxOutstandingR2T. Let we
can run 2 pieces of iSCSI target software on the target: one supporting
only MaxOutstandingR2T 1 and another one supporting MaxOutstandingR2T >1.
The first target negotiated MaxOutstandingR2T 1, the second one - 16.
10ms means that a 1 byte packet send from the initiator reaches the
target in 5ms time. Then 5ms in the opposite direction. 1Gbps bandwidth
means that 64K of data transferred from the initiator to the target in
10ms means that a 1 byte packet send from the initiator reaches the
target in 5ms time. Then 5ms in the opposite direction. 1Gbps bandwidth
means that 64K of data transferred from the initiator to the target in
about 0.5ms. The maximum throuput we can have with 1Gbps link is about
120MB/s.
@@ -27,33 +27,33 @@ For sake of simplification we will suppose the targets will process
requests and the initiator will process responses quick enough, so we
can ignore additional latency the processing on both sides adds.
Since each R2T request must contain less than MaxBurstLength data, we
need ((2MB - 64K)/256K) = 8 R2T requests to send. The first 64K will be
Since each R2T request must contain less than MaxBurstLength data, we
need ((2MB - 64K)/256K) = 8 R2T requests to send. The first 64K will be
sent as immediate/unsolicited data without explicit R2T request.
1. The first target with MaxOutstandingR2T 1.
MaxOutstandingR2T 1 means that only one R2T request can be active on
MaxOutstandingR2T 1 means that only one R2T request can be active on
time. I.e., the next request for data transfer can be sent after the
previous one completed and all the data received.
Thus, on the first target each command will be completed on time:
5 + 0.5 + (5 + 5 + 256K/64K * 0.5) * 7 + (5 + 5 + (256K - 64K)/64K *
5 + 0.5 + (5 + 5 + 256K/64K * 0.5) * 7 + (5 + 5 + (256K - 64K)/64K *
0.5) + 5 = 106ms, i.e. 9 IOPS, which is 18MB/s. Remember, we have
120MB/s link.
2. The second target with MaxOutstandingR2T 16.
With MaxOutstandingR2T 16 the second target can send all R2T requests at
With MaxOutstandingR2T 16 the second target can send all R2T requests at
once and the first R2T can be sent before immediate/unsolicited data
received.
Thus, on the second target each command will be completed on time:
5 + 5 + 5 + 256K/64K * 0.5 * 7 + (256K-64K)/64K * 0.5 + 5 = 35.5ms,
5 + 5 + 5 + 256K/64K * 0.5 * 7 + (256K-64K)/64K * 0.5 + 5 = 35.5ms,
i.e. 28 IOPS, which is 56MB/s.

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>MC/S vs MPIO</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -29,9 +29,9 @@
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Comparison</h1>
<ul class="sidemenu">
@@ -40,8 +40,8 @@
<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
<li><a href="mc_s.html">MC/S vs MPIO</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>MC/S vs MPIO</h1>
@@ -101,7 +101,7 @@ appropriate for application.</p>
<p>LUN RESET function resets the device.</p>
<p>Both CLEAR TASK SET and LUN RESET functions can somehow harm
other initiators, because all commands from all initiators, not only
other initiators, because all commands from all initiators, not only
from one doing the failover recovery, will be aborted. Additionally, LUN
RESET resets all SCSI settings for all connected initiators to the
initial state and, if device had reservation from any initiator, it will
@@ -220,7 +220,7 @@ and backup applications one or both can be true. But on practice:</p>
<li><span>MPIO allows to utilize existing infrastructure for all
transports, not only iSCSI.
</span></li>
<li><span>All transports can benefit from improvements in MPIO.</span></li>
<li><span>With MPIO there is no need to create multiple layers doing very similar
@@ -240,15 +240,15 @@ rejected. See for more details <a href="http://article.gmane.org/gmane.linux.scs
and <a href="http://article.gmane.org/gmane.linux.scsi/16301">here</a>.
</p>
</div>
</div>
</div>
</div>
</div>
<!-- wrap ends here -->
<!-- footer starts here -->
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST Admin Utility</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,33 +51,33 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>SCST administration utility</h1>
<p>SCST administration utility scstadmin developed by Mark Buechler.</p>
<p>With it you can manually or automatically using either plain text config file, or MySQL database configure every aspect of SCST.</p>
<p>Especially useful feature of scstadmin is ability to figure out and apply <strong>on the fly</strong> on the currently
running system changes in scst.conf file. In other words, you can have SCST subsystem running with configuration from file
scst.conf, then you edit this file, e.g. add new devices, then scstadmin will figure out that you added those devices
and add them to SCST.</p>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
</div>
</div>
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">
@@ -91,5 +91,5 @@ piwik_log(piwik_action_name, piwik_idsite, piwik_url);
</script>
<object><noscript><p><img src="http://apps.sourceforge.net/piwik/scst/piwik.php?idsite=1" alt="piwik"></p></noscript></object>
<!-- End Piwik Tag -->
</body>
</body>
</html>

View File

@@ -4,18 +4,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST vs LIO/TCM</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -28,9 +28,9 @@
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Comparison</h1>
<ul class="sidemenu">
@@ -39,12 +39,12 @@
<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
<li><a href="mc_s.html">MC/S vs MPIO</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>SCST vs LIO/TCM</h1>
<p><a href="http://linux-iscsi.org/" rel="nofollow">LIO</a>,
from recently being renamed to TCM, is another independent from SCST implementation
from recently being renamed to TCM, is another independent from SCST implementation
of SCSI target framework for Linux. It's started as PyX iSCSI target and then was
accommodated to other transports. But it's still in many kinds iSCSI-oriented.
You can find an example when people are not happy with it
@@ -95,13 +95,13 @@
a requirement, so 2.6.38+ kernels successfully have both STGT and LIO.</p>
</div>
</div>
</div>
</div>
<!-- wrap ends here -->
<!-- footer starts here -->
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST vs STGT</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -29,9 +29,9 @@
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Comparison</h1>
<ul class="sidemenu">
@@ -40,12 +40,12 @@
<li><a href="scstvsstgt.html">SCST vs STGT</a></li>
<li><a href="mc_s.html">MC/S vs MPIO</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>SCST vs STGT</h1>
<p><a href="http://stgt.sourceforge.net/">STGT</a> is alternative, independent from SCST implementation
of SCSI target framework for Linux. It has different architecture, where SCSI target state machine is placed in
<p><a href="http://stgt.sourceforge.net/">STGT</a> 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.</p>
@@ -53,35 +53,35 @@
<p>But such architecture has several inherent problems. Among them performance and complexity.
See <a href="http://lkml.org/lkml/2008/12/10/245">description</a> for the set of patches, submitted for
the first iteration of in-kernel inclusion review and comments in Linux kernel mailing list.</p>
<p>See also the following important discussions:</p>
<ul>
<li><span><a href="http://news.gmane.org/find-root.php?message_id=%3ce2e108260801170127w2937b2afg9bef324efa945e43%40mail.gmail.com%3e">
"Performance of SCST versus STGT"</a> for performance comparison.</span></li>
<li><span><a href="http://news.gmane.org/find-root.php?message_id=%3c463F36AC.3010207%40vlnb.net%3e">
"Question for pass-through target design"</a></span></li>
"Question for pass-through target design"</a></span></li>
<li><span><a href="http://news.gmane.org/find-root.php?message_id=%3c43987F75.2000301%40vlnb.net%3e">
"Stgt a new version of iscsi target?"</a>, especially pay attention to
"Stgt a new version of iscsi target?"</a>, especially pay attention to
<a href="http://article.gmane.org/gmane.linux.scsi/21073">this</a> message why STGT's architecture was considered "right".
</span></li>
</ul>
<p>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.</p>
</div>
</div>
</div>
</div>
</div>
<!-- wrap ends here -->
<!-- footer starts here -->
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>Emulex FC/FCoE target driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,9 +51,9 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>Target driver for Emulex FC/FCoE</h1>
<p><img src="images/LPe16002.jpg" width="100" height="120" class="float-left" alt="SCST Emulex">
@@ -74,16 +74,16 @@
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>FCoE Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,9 +51,9 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>FCoE target</h1>
<p><img src="images/t_fcoe.gif" width="100" height="120" class="float-left" alt="SCST Fcoe">
SCST Fibre Channel over Ethernet (FCoE) target is developed by Open-FCoE team and Joe Eykholt.
@@ -63,21 +63,21 @@
page how to setup access to it.
</p><br><br><br><br>
<p class="post-footer align-right">
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
<a href="http://www.open-fcoe.org/" class="readmore">Open-FCoE Site</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
<a href="http://www.open-fcoe.org/" class="readmore">Open-FCoE Site</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SRP Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,9 +51,9 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>IBM Virtual SCSI Target</h1>
<p>The virtual SCSI (VSCSI) protocol as defined in <a href="http://www.power.org" class="readmore">Power Architecture Standard</a>
is a protocol that allows one logical partition (LPAR) to access SCSI targets provided by another LPAR.
@@ -64,21 +64,21 @@
The port was made by Bart Van Assche.</p>
<p>You can download it from the SCST SVN repository. See the download page how to setup access to it.</p>
<br><br><br>
<p class="post-footer align-right">
<p class="post-footer align-right">
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>iSCSI Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
</div>
<div id="menu">
<ul>
<li><a href="http://scst.sourceforge.net">Home</a></li>
@@ -25,12 +25,12 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
@@ -51,8 +51,8 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>ISCSI target driver iSCSI-SCST with iSER support</h1>
<p>ISCSI-SCST is an iSCSI target driver for SCST. It was originated from
@@ -62,36 +62,36 @@
<p>The latest improvement was addition of iSER support,
thanks a lot to Yan Burman and Mellanox Technologies!</p>
<p>If you are an IET user before installation carefully read README files of both iSCSI-SCST and
<p>If you are an IET user before installation carefully read README files of both iSCSI-SCST and
the SCST core. 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.</p>
<p>You can find the latest development version of this driver in the SCST SVN. See the download page how to setup
<p>You can find the latest development version of this driver in the SCST SVN. See the download page how to setup
access to it.</p>
<h1>Certification</h1>
<p>ISCSI-SCST has passed VMware certification as part of
<a href="http://scalecomputing.com/products">Scale&rsquo;s Intelligent Clustered Storage</a> technology developed by
<a href="http://scalecomputing.com">Scale Computing</a> as well as VMware and Microsoft certification as part of
storage arrays developed by <a href="http://www.open-e.com/">Open-E, Inc</a> and
Starboard Storage.</p>
<p class="post-footer align-right">
<p class="post-footer align-right">
<a href="iscsi-scst-howto.txt" class="readmore">HOWTO</a>
<a href="http://community.mellanox.com/docs/DOC-1479" class="readmore">iSER HOWTO</a>
<a href="SCST_Gentoo_HOWTO.txt" class="readmore">Gentoo HOWTO</a>
<a href="downloads.html" class="readmore">Download</a>
<a href="downloads.html" class="readmore">Download</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
</p>
</div>
</div>
</div>
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>Local Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,42 +51,42 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>Target driver for local access</h1>
<p>This driver allows you to access devices that are exported via SCST
directly on the same Linux system that they are exported from. </p>
<p>It makes no assumptions in the code about the device types on the target, so
any device handlers that you load in SCST will be visible, including tapes
and so forth.</p>
<p>Additionally, this driver allows creation of fully functional target drivers in user space.
See README for more details.</p>
<p>This driver was made by Richard Sharpe.</p>
<p>You can download
the latest development version from the SCST SVN repository. See the
download page how to setup access to it. </p><br><br><br>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>LSI Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,14 +51,14 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>Target driver for LSI/MPT adapters</h1>
<p><img src="images/t_lsi.gif" width="100" height="120" class="float-left" alt="SCST LSI">
Target driver for LSI/MPT adapters was originally developed by Hu Gang, then Erik Habbinga has continued the development. </p>
<p>It supports parallel SCSI (SPI), including Wide SCSI, and Fibre Channel, but also should work with SAS. This driver is on the
<p>It supports parallel SCSI (SPI), including Wide SCSI, and Fibre Channel, but also should work with SAS. This driver is on the
alpha stage and available for download from the SCST SVN repository. See the download page how to setup access to it.
</p>
@@ -70,18 +70,18 @@
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
<a href="https://github.com/exactassembly/meta-xa-stm" class="readmore">Github</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>Marvell SAS Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,31 +51,31 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>Target driver for Marvell SAS adapters</h1>
<p><img src="images/t_sas.gif" width="100" height="120" class="float-left" alt="SCST Marvell SAS">
<p>Target driver for Marvell SAS adapters is developed by Marvell and Andy Yan. It is fully functional
SAS target driver.</p>
<p>It is on the beta stage. You can download it from the SCST SVN repository. See the download page how
to setup access to it. </p><br><br><br>
<p class="post-footer align-right">
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
<p class="post-footer align-right">
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names">Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>Old Unsupported SCST Target Drivers</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,67 +51,67 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>Target driver for QLogic ISP chipsets</h1>
<p><img src="images/t_unsupported.gif" width="100" height="120" class="float-left" alt="SCST Unsupported">
This is an SCST driver for ISP QLogic chipsets commonly used in many SCSI and FC host bus adapters.
This is an SCST driver for ISP QLogic chipsets commonly used in many SCSI and FC host bus adapters.
It is based on Matthew Jacob's (<a href="http://www.feral.com">http://www.feral.com</a>)
multiplatform driver for ISP chipsets. Update for SCST was made by Stanislaw Gruszka for Open-E Inc.</p>
<p>The latest release is 1.0.2. It supports kernel versions between 2.6.16 and 2.6.32.</p>
<p>This driver is obsoleted in favor of qla2x00t.</p>
<br>
<h1>Old target driver for QLogic qla2x00t adapters for 2.4 kernels</h1>
<p><img src="images/t_unsupported.gif" width="100" height="120" class="float-left" alt="SCST Unsupported">
Old target driver for QLogic qla2x00t adapters is capable to work on 2.4 kernels.
It has all required features and looks to be quite stable. It is designed to work in conjunction with the
initiator driver, which is intended to perform all the initialization and shutdown tasks. In the current release as
a base for the initiator driver was taken Red Hat's driver from the stock 2.4.20 kernel. Then it was patched to
enable the target mode and provide all necessary callbacks, and it's still able to work as initiator only. Mode,
when a host acts as the initiator and the target simultaneously, is also supported. This driver is obsoleted in
Old target driver for QLogic qla2x00t adapters is capable to work on 2.4 kernels.
It has all required features and looks to be quite stable. It is designed to work in conjunction with the
initiator driver, which is intended to perform all the initialization and shutdown tasks. In the current release as
a base for the initiator driver was taken Red Hat's driver from the stock 2.4.20 kernel. Then it was patched to
enable the target mode and provide all necessary callbacks, and it's still able to work as initiator only. Mode,
when a host acts as the initiator and the target simultaneously, is also supported. This driver is obsoleted in
favor of 2.6-based driver.</p>
<p>The latest version is 0.9.3.4. Requires Linux kernel versions 2.4.20 or higher and SCST version 0.9.3-pre4 or
higher. If you are lucky, it works also on 2.6 kernels, see README file for details. Tested on i386 only, but
<p>The latest version is 0.9.3.4. Requires Linux kernel versions 2.4.20 or higher and SCST version 0.9.3-pre4 or
higher. If you are lucky, it works also on 2.6 kernels, see README file for details. Tested on i386 only, but
should work on any other supported by Linux platform.</p>
<p>Currently it is <strong>not supported</strong> and listed here for historical reasons only.</p>
<br>
<h1>Target drivers for Adaptec 7xxx and QLogic QLA12xx adapters</h1>
<p><img src="images/t_unsupported.gif" width="100" height="120" class="float-left" alt="SCST Unsupported">
Target drivers for Adaptec 7xxx and QLogic QLA12xx adapters have been developed by Hu Gang and they available for
download from <a href="http://bj.soulinfo.com/~hugang/scst/tgt/">http://bj.soulinfo.com/~hugang/scst/tgt/</a>.
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 <strong>Hu Gang < hugang at soulinfo com ></strong>. If some of these drivers don't compile for
Target drivers for Adaptec 7xxx and QLogic QLA12xx adapters have been developed by Hu Gang and they available for
download from <a href="http://bj.soulinfo.com/~hugang/scst/tgt/">http://bj.soulinfo.com/~hugang/scst/tgt/</a>.
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 <strong>Hu Gang < hugang at soulinfo com ></strong>. If some of these drivers don't compile for
you, try again with SCST version 0.9.3-pre2.</p><br><br>
<br>
<h1>Patches for UNH-iSCSI Target 1.5.03 and 1.6.00 to SCST</h1>
<p><img src="images/t_unsupported.gif" width="100" height="120" class="float-left" alt="SCST Unsupported">
SCST is much more advanced, than the internal mid-level of <a href="http://sourceforge.net/projects/unh-iscsi">
UNH-iSCSI target driver</a>. With SCST the iSCSI target benefits from all its features and gets ability to use all
UNH-iSCSI target driver</a>. With SCST the iSCSI target benefits from all its features and gets ability to use all
its advantages, like high performance and scalability, SMP support, required SCSI functionality emulation, etc.</p>
<p>Since the interface between SCST and the target drivers is based on work, done by UNH IOL, it was relatively
simple to update UNH-iSCSI target to work over SCST. Mostly it was "search and replace" job. The built-in
<p>Since the interface between SCST and the target drivers is based on work, done by UNH IOL, it was relatively
simple to update UNH-iSCSI target to work over SCST. Mostly it was "search and replace" job. The built-in
scsi_target remains available as a compile-time option.</p>
<p>Requires Linux kernel versions 2.4.20 or higher or 2.6.7 or higher and SCST version 0.9.2 or higher.</p>
<p>Currently it is <strong>not supported</strong> and listed here for historical reasons only.</p>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>QLogic Fibre Channel Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,8 +51,8 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>Target driver qla2x00t for QLogic FC adapters</h1>
<p><img src="images/t_qlogic.gif" width="100" height="120" class="float-left" alt="SCST QLogic">
@@ -78,25 +78,25 @@
However, NPIV, T10-PI as well as modifying port name is not yet supported.
Also, this driver does not support old adapters (same as the in-kernel qla2xxx it is based on).</p>
<p class="post-footer align-right">
<p class="post-footer align-right">
<a href="qla2x00t-howto.html" class="readmore">HOWTO</a>
<a href="https://blog.it-kb.ru/2018/03/12/configure-the-server-with-qlogic-fc-hba-on-debian-linux-9-and-scst-fc-target-as-storage-for-csv-volumes-in-the-hyper-v-cluster-for-highly-available-virtual-machines/" class="readmore"> Russian HOWTO</a>
<a href="downloads.html" class="readmore">Download</a>
<a href="downloads.html" class="readmore">Download</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/trunk" class="readmore">SCST SVN trunk</a>
<a href="scst-qla2xxx-unified-20180330.tgz" class="readmore">QLA git snapshot</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SRP Target Driver</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,9 +51,9 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
<div id="main">
</div>
<div id="main">
<h1>Infiniband SCSI RDMA protocol (SRP) target driver</h1>
<p><img src="images/t_rdma.gif" width="100" height="120" class="float-left" alt="SCST SRP">
SCSI RDMA Protocol (SRP) target driver has been developed by Vu Pham. Since March
@@ -62,22 +62,22 @@
<p>This driver is mainline Linux kernel ready and going to be pushed to it
together with other SCST patches.</p>
<br><br><br>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<p class="post-footer align-right">
<a href="downloads.html" class="readmore">Download</a>
<a href="http://sourceforge.net/p/scst/svn/HEAD/tree/" class="readmore">SCST SVN Repository</a>
</p>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
<!-- content-wrap ends here -->
<!-- content-wrap ends here -->
</div>
<!-- wrap ends here -->
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -5,18 +5,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST SCSI Target Drivers &amp Utilities</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -25,13 +25,13 @@
<li id="current"><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="sidebar">
<h1>Target Drivers</h1>
<ul class="sidemenu">
@@ -51,11 +51,11 @@
<li><a href="scst_admin.html">SCST Admin Utility</a></li>
<li><a href="handler_fileio_tgt.html">FILEIO_TGT handler</a></li>
</ul>
</div>
</div>
<div id="main">
<h1>SCST Target Drivers</h1>
<p>SCST has target drivers for:</p>
<ul>
<li><span>iSCSI with iSER</span></li>
@@ -68,17 +68,17 @@
<li><span>Local access</span></li>
<li><span>IBM pSeries Virtual SCSI</span></li>
<li><span>...</span></li>
</ul>
</ul>
<table border=0><tr><td height="300px">&nbsp;</td></tr></table>
</div>
</div>
</div>
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -36,7 +36,7 @@ Raw performance (encrypted): 50.21 MB/s
2. Read-ahead on the initiator: 256 (default); md0, crypt - MB/s
md0 us sy id wa | crypt us sy id wa
md0 us sy id wa | crypt us sy id wa
STGT 50.63 4% 45% 18% 33% | 32.52 3% 62% 16% 19%
SCST (debug + no patches) 43.75 0% 26% 30% 44% | 42.05 0% 84% 1% 15%
SCST (fullperf + patches) 45.18 0% 25% 33% 42% | 44.12 0% 81% 2% 17%
@@ -44,7 +44,7 @@ SCST (fullperf + patches) 45.18 0% 25% 33% 42% | 44.12 0% 81% 2% 17%
3. Read-ahead on the initiator: 16384; md0, crypt - MB/s
md0 us sy id wa | crypt us sy id wa
md0 us sy id wa | crypt us sy id wa
STGT 56.43 3% 55% 2% 40% | 46.90 3% 90% 3% 4%
SCST (debug + no patches) 73.85 0% 58% 1% 41% | 42.70 0% 85% 0% 15%
SCST (fullperf + patches) 76.27 0% 63% 1% 36% | 42.52 0% 85% 0% 15%

View File

@@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Daniel Fernandes">
<meta name="Robots" content="index,follow">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<link rel="stylesheet" href="images/Orange.css" type="text/css">
<title>SCST Users</title>
</head>
@@ -13,12 +13,12 @@
<script language="javascript" src="images/tooltips.js" type="text/javascript"></script>
<div id="mess" style="position: absolute; left: 0; top: 0; display: none; padding: 3px; font-size: 13px; font-family: sans-serif; background: #ffffad; color: #26261f; border: 1px solid #909090"></div>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<div id="wrap">
<div id="header">
<div class="logoimg"></div><h1 id="logo"><span class="orange"></span></h1>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<h2 id=slogan>Generic SCSI Target Subsystem for Linux</h2>
</div>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -27,20 +27,20 @@
<li><a href="targets.html">Drivers</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="contributing.html">Contributing</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li><a href="comparison.html">Comparison</a></li>
<li id="current"><a href="users.html">Users</a></li>
</ul>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="main2">
<h1>SCST Users</h1>
<br>
<span class="companysubtitles">Companies developed SCST target drivers for their adapters</span>
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin: 10px 15px;">
<tr>
<td class="companybox" width="33%">
@@ -55,11 +55,11 @@
<a href="http://www.mellanox.com"><img src="http://ir.mellanox.com/common/alerts/MLNX/default/logo.gif" alt="Mellanox Technologies"></a></td>
</tr>
</table>
<br><br>
<span class="companysubtitles">Companies using SCST in their products and solutions</span>
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin: 10px 15px;">
<tr>
<td class="companybox" width="33%">
@@ -147,23 +147,23 @@
<a href="http://www.seakr.com"><img src="http://www.millertechnologygroup.com/images/logos/seakrengineeringlogo.gif" alt="SEAKR Engineering, Inc."></a></td>
</tr>
</table>
<br>
<p>If your company is using SCST in its products, solutions or internal storage infrastructure,
please contact vst at vlnb net and we will be proud to add you on this page. Also, if your company has certified its
SCST-powered product or solution, we will be proud to write on our pages that SCST engine has successfully
passed the certification tests. This is the least appreciation your company can do for SCST.</p>
<table border=0><tr><td height="15px">&nbsp;</td></tr></table>
</div>
</div>
</div>
</div>
<!-- footer starts here -->
</div>
<!-- footer starts here -->
<div id="footer">
<p>&copy; Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin &amp others</font></b>&nbsp;&nbsp;
Design by: <b><font class="names">Daniel Fernandes</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>
</div>
<!-- footer ends here -->
<!-- Piwik -->
<script type="text/javascript">

View File

@@ -1,18 +1,18 @@
Setup:
Target: HT 2.4GHz Xeon, x86_32, 2GB of memory limited to 256MB by kernel
command line to have less test data footprint, 75GB 15K RPM SCSI disk as
Target: HT 2.4GHz Xeon, x86_32, 2GB of memory limited to 256MB by kernel
command line to have less test data footprint, 75GB 15K RPM SCSI disk as
backstorage, dual port 1Gbps E1000 Intel network card, 2.6.29 kernel.
Initiator: 1.7GHz Xeon, x86_32, 1GB of memory limited to 256MB by kernel
command line to have less test data footprint, dual port 1Gbps E1000
Initiator: 1.7GHz Xeon, x86_32, 1GB of memory limited to 256MB by kernel
command line to have less test data footprint, dual port 1Gbps E1000
Intel network card, 2.6.27 kernel, open-iscsi 2.0-870-rc3.
The target exported a 5GB file on XFS for FILEIO and 5GB partition for
The target exported a 5GB file on XFS for FILEIO and 5GB partition for
BLOCKIO.
All the tests were ran 3 times and average written. All the values are
in MB/s. The tests were ran with CFQ and deadline IO schedulers on the
All the tests were ran 3 times and average written. All the values are
in MB/s. The tests were ran with CFQ and deadline IO schedulers on the
target. All other parameters on both target and initiator were default.
==================================================================
@@ -69,25 +69,25 @@ BLOCKIO/deadline 112 110 -
Conclusions:
1. ISCSI-SCST FILEIO on buffered READs on 27% faster than IET (94 vs
1. ISCSI-SCST FILEIO on buffered READs on 27% faster than IET (94 vs
74). With CFQ the difference is 42% (94 vs 66).
2. ISCSI-SCST FILEIO on buffered READs on 30% faster than STGT (94 vs
2. ISCSI-SCST FILEIO on buffered READs on 30% faster than STGT (94 vs
72). With CFQ the difference is 104% (94 vs 46).
3. ISCSI-SCST BLOCKIO on buffered READs has about the same performance
3. ISCSI-SCST BLOCKIO on buffered READs has about the same performance
as IET, but with CFQ it's on 170% faster (95 vs 35).
4. Buffered WRITEs are not so interesting, because they are async. with
many outstanding commands at time, hence latency insensitive, but even
4. Buffered WRITEs are not so interesting, because they are async. with
many outstanding commands at time, hence latency insensitive, but even
here ISCSI-SCST always a bit faster than IET.
5. STGT always the worst, sometimes considerably.
6. BLOCKIO on buffered WRITEs is constantly faster, than FILEIO, so,
6. BLOCKIO on buffered WRITEs is constantly faster, than FILEIO, so,
definitely, there is a room for future improvement here.
7. For some reason assess on file system is considerably better, than
7. For some reason assess on file system is considerably better, than
the same device directly.
==================================================================
@@ -119,16 +119,16 @@ Conclusions:
III. SEQUENTIAL ACCESS OVER MPIO
Unfortunately, my dual port network card isn't capable of simultaneous
data transfers, so I had to do some "modeling" and put my network
devices in 100Mbps mode. To make this model more realistic I also used
my old IDE 5200RPM hard drive capable to produce locally 35MB/s
throughput. So I modeled the case of double 1Gbps links with 350MB/s
Unfortunately, my dual port network card isn't capable of simultaneous
data transfers, so I had to do some "modeling" and put my network
devices in 100Mbps mode. To make this model more realistic I also used
my old IDE 5200RPM hard drive capable to produce locally 35MB/s
throughput. So I modeled the case of double 1Gbps links with 350MB/s
backstorage, if all the following rules satisfied:
- Both links a capable of simultaneous data transfers
- There is sufficient amount of CPU power on both initiator and target
- There is sufficient amount of CPU power on both initiator and target
to cover requirements for the data transfers.
All the tests were done with iSCSI-SCST only.