Merge branch 'svn-trunk'

This commit is contained in:
Bart Van Assche
2018-12-31 10:28:07 -08:00
16 changed files with 121 additions and 121 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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