mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 09:11:27 +00:00
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:
@@ -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>
|
||||
|
||||
@@ -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?
|
||||
|
||||
======================================================================
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ]; \
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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&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>© Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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>© Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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&package=scst&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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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>© Copyright 2004 - 2018 <b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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 {
|
||||
|
||||
106
www/index.html
106
www/index.html
@@ -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’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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
@@ -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>© Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer starts here -->
|
||||
</div>
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </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>
|
||||
|
||||
@@ -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>© Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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>© Copyright 2004 - 2018 <b><font color="#EC981F">Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
Design by: <b><font color="#EC981F">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
<table border=0><tr><td height="300px"> </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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
<table border=0><tr><td height="300px"> </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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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’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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
<table border=0><tr><td height="300px"> </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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
<table border=0><tr><td height="300px"> </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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
<table border=0><tr><td height="300px"> </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>© Copyright 2004 - 2018<b><font class="names">Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
<table border=0><tr><td height="300px"> </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>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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 & 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"> </td></tr></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer starts here -->
|
||||
</div>
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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%
|
||||
|
||||
@@ -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"> </td></tr></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer starts here -->
|
||||
</div>
|
||||
<!-- footer starts here -->
|
||||
<div id="footer">
|
||||
<p>© Copyright 2004 - 2018<b><font class="names"> Vladislav Bolkhovitin & others</font></b>
|
||||
Design by: <b><font class="names">Daniel Fernandes</font></b> </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer ends here -->
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user