mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 09:11:27 +00:00
Release 0.9.5 of both SCST and Qlogic target driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@38 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
<name>Vladislav Bolkhovitin <<tt/vst @at@ vlnb .dot. net/></name>
|
||||
</author>
|
||||
|
||||
<date>Version 0.9.3-pre4 2006/02/07, actual for SCST 0.9.3-pre4 and later</date>
|
||||
<date>Version 0.9.5 2006/12/01, actual for SCST 0.9.5 and later</date>
|
||||
|
||||
<abstract>
|
||||
This document describes SCSI target mid-level for Linux (SCST), its
|
||||
@@ -122,7 +122,8 @@ SCST session is the object that describes relationship between a remote
|
||||
initiator and SCST via a target driver. All the commands from the remote
|
||||
initiator is passed to SCST in the session. For example, for connection
|
||||
oriented protocols, like iSCSI, SCST session could be mapped to the TCP
|
||||
connection. SCST session is the close equivalent of I_T nexus object.
|
||||
connection (as well as iSCSI session). SCST session is the close
|
||||
equivalent of I_T nexus object.
|
||||
|
||||
<bf/Local SCSI initiator/
|
||||
|
||||
|
||||
@@ -42,11 +42,10 @@ 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 <mingz@ele.uri.edu>
|
||||
for patch)
|
||||
- Patched to compile on 64bit cleanly (thanks to Ming Zhang for patch)
|
||||
|
||||
- Fixed possible race during initial enabling of Target Mode (thanks to
|
||||
Mark Buechler <mark.buechler@gmail.com> for finding)
|
||||
Mark Buechler for finding)
|
||||
|
||||
Summary of changes between versions 0.9.3.4 and 0.9.3.5
|
||||
-------------------------------------------------------
|
||||
@@ -61,8 +60,7 @@ tracked.
|
||||
- Added Module Info
|
||||
|
||||
- Fixed module counting with initiator module preventing it from going
|
||||
away w/out telling us (pointed out by Vladislav Bolkhovitin
|
||||
<vst@vlnb.net>)
|
||||
away w/out telling us (pointed out by Vladislav Bolkhovitin)
|
||||
|
||||
- Some minor debugging changes
|
||||
|
||||
@@ -70,7 +68,7 @@ Summary of changes between versions 0.9.3.2 of old driver and 0.9.3.4
|
||||
---------------------------------------------------------------------
|
||||
|
||||
- Support for the latest in-tree Qlogic initiator added by Nathaniel
|
||||
Clark <nate@misrule.us>
|
||||
Clark
|
||||
|
||||
- Only one module is build and it interacts with a patched kernel
|
||||
qla2xxx driver. The single module is called qla2x00tgt.ko instead of
|
||||
|
||||
@@ -26,16 +26,17 @@
|
||||
# - install and uninstall must be made as root
|
||||
#
|
||||
|
||||
#SCST_INC_DIR := /usr/local/include/scst
|
||||
SCST_INC_DIR := $(SUBDIRS)/../../scst/include
|
||||
SCST_DIR := $(shell pwd)/../../scst/src
|
||||
SCST_INC_DIR := /usr/local/include/scst
|
||||
#SCST_INC_DIR := $(SUBDIRS)/../../scst/include
|
||||
#SCST_DIR := $(shell pwd)/../../scst/src
|
||||
SCST_DIR := $(shell pwd)/../../scst-0.9.5/src
|
||||
EXTRA_CFLAGS += -I$(SCST_INC_DIR) -DFC_TARGET_SUPPORT
|
||||
|
||||
INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
|
||||
|
||||
EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DDEBUG_TGT
|
||||
EXTRA_CFLAGS += -DTRACING
|
||||
#EXTRA_CFLAGS += -DDEBUG_TGT
|
||||
#EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD
|
||||
|
||||
ifeq ($(KVER),)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Target driver for Qlogic 2200/2300 Fibre Channel cards
|
||||
======================================================
|
||||
|
||||
Version 0.9.5-pre2, XX XXX 2006
|
||||
-------------------------------
|
||||
Version 0.9.5, 01 Dec 2006
|
||||
--------------------------
|
||||
|
||||
This driver has all required features and looks to be quite stable (for
|
||||
beta) and useful. It consists from two parts: the target mode driver
|
||||
@@ -29,24 +29,34 @@ At first, make sure that the link "/lib/modules/`you_kernel_version`/build"
|
||||
points to the source code for your currently running kernel.
|
||||
|
||||
Then you should replace (or link) by the initiator driver from this
|
||||
package "qla2xxx" subdirectory in kernel_source/drivers/scsi/ and then
|
||||
rebuild the kernel and its modules.
|
||||
package "qla2xxx" subdirectory in kernel_source/drivers/scsi/ of the
|
||||
currently running kernel and using your favorite kernel configuration
|
||||
tool enable in the QLogic QLA2XXX Fibre Channel driver target mode
|
||||
support (CONFIG_SCSI_QLA2XXX_TARGET). Then rebuild the kernel and its
|
||||
modules. During this step you will compile the initiator driver. To
|
||||
install it, install the built kernel and its modules.
|
||||
|
||||
Then edit Makefile and set SCST_INC_DIR variable to point to the
|
||||
directory, where SCST's public include files are located. If you install
|
||||
QLA2x00 target driver's source code in the SCST's directory, then
|
||||
SCST_INC_DIR will be set correctly for you ("../include").
|
||||
Then edit qla2x00-target/Makefile and set SCST_INC_DIR variable to point
|
||||
to the directory, where SCST's public include files are located. If you
|
||||
install QLA2x00 target driver's source code in the SCST's directory,
|
||||
then SCST_INC_DIR will be set correctly for you.
|
||||
|
||||
To compile, type 'make'. It will build qla2x00tgt.ko module.
|
||||
Also you can set SCST_DIR variable to the directory, where SCST was
|
||||
built, but this is optional. If you don't set it or set incorrectly,
|
||||
during the compilation you will get a bunch of harmless warnings like
|
||||
"WARNING: "scst_rx_data" [/XXX/qla2x00tgt.ko] undefined!"
|
||||
|
||||
To install, type 'make install'. The target driver will be installed in
|
||||
/lib/modules/`you_kernel_version`/extra.
|
||||
To compile the target driver, type 'make' in qla2x00-target/
|
||||
subdirectory. It will build qla2x00tgt.ko module.
|
||||
|
||||
To uninstall, type 'make uninstall'.
|
||||
To install the target driver, type 'make install' in qla2x00-target/
|
||||
subdirectory. The target driver will be installed in
|
||||
/lib/modules/`you_kernel_version`/extra. To uninstall it, type 'make
|
||||
uninstall'.
|
||||
|
||||
The target mode should be enabled via a sysfs interface on a per card
|
||||
basis. Under the appropriate scsi_host there is an entry
|
||||
target_mode_enabled, where you should write "1", like:
|
||||
After the drivers are loaded, the target mode should be enabled via a
|
||||
sysfs interface on a per card basis. Under the appropriate scsi_host
|
||||
there is an entry target_mode_enabled, where you should write "1", like:
|
||||
|
||||
echo "1" >/sys/class/scsi_host/host0/target_mode_enabled
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
/* Version numbers, the same as for the kernel */
|
||||
#define Q2T_VERSION(a,b,c,d) (((a) << 030) + ((b) << 020) + (c) << 010 + (d))
|
||||
#define Q2T_VERSION_CODE Q2T_VERSION(0,9,5,0)
|
||||
#define Q2T_VERSION_STRING "0.9.5-pre2"
|
||||
#define Q2T_VERSION_STRING "0.9.5"
|
||||
|
||||
#define Q2T_MAX_CDB_LEN 16
|
||||
#define Q2T_TIMEOUT 10 /* in seconds */
|
||||
|
||||
@@ -41,8 +41,7 @@ Summary of changes between versions 0.9.4 and 0.9.5
|
||||
|
||||
- Function alloc_data_buf() added to struct scst_tgt_template as well
|
||||
as data_buf_tgt_alloc added to struct scst_cmd to allow a target
|
||||
driver implement own memory management handler (by Arne Redlich
|
||||
<arne.redlich@xiranet.com>).
|
||||
driver implement own memory management handler (by Arne Redlich).
|
||||
|
||||
- Exported symbols are now not GPL'ed
|
||||
|
||||
@@ -57,8 +56,7 @@ Summary of changes between versions 0.9.3 and 0.9.4
|
||||
|
||||
- Fixed BUG() on task aborts.
|
||||
|
||||
- Fixed WCE (Write Cache Enabled) handling in FILEIO
|
||||
(by Ming Zhang <mingz@ele.uri.edu>)
|
||||
- Fixed WCE (Write Cache Enabled) handling in FILEIO (by Ming Zhang)
|
||||
|
||||
- Minor cleanups and bug fixes.
|
||||
|
||||
@@ -71,10 +69,9 @@ Summary of changes between versions 0.9.3-pre4 and 0.9.3
|
||||
|
||||
- Fixed "deadlock" on sessions creation.
|
||||
|
||||
- Fixed support for > 2TB storage device in FILEIO handler
|
||||
(by Ming Zhang <mingz@ele.uri.edu>)
|
||||
- Fixed support for > 2TB storage device in FILEIO handler (by Ming Zhang)
|
||||
|
||||
- NULLIO added to FILEIO handler (by Ming Zhang <mingz@ele.uri.edu>)
|
||||
- NULLIO added to FILEIO handler (by Ming Zhang)
|
||||
|
||||
- Commands serialization now per-(session, device), i.e. tgt_dev.
|
||||
|
||||
@@ -87,8 +84,7 @@ Summary of changes between versions 0.9.3-pre2 and 0.9.3-pre4
|
||||
interface with target drivers changed (made much more simple, but
|
||||
incompatible).
|
||||
|
||||
- Some kmalloc()'s converted to SLAB caches (by Nathaniel Clark
|
||||
<nate@misrule.us>)
|
||||
- Some kmalloc()'s converted to SLAB caches (by Nathaniel Clark)
|
||||
|
||||
- Too low timeouts for management operations in scst_disk were
|
||||
increased
|
||||
@@ -129,7 +125,7 @@ Summary of changes between versions 0.9.2 and 0.9.3-pre1
|
||||
* Management interface via /proc added
|
||||
|
||||
* Various defects using devices/files larger 2Gb were fixed. Thanks
|
||||
to Mark Buechler <mark.buechler@gmail.com>
|
||||
to Mark Buechler.
|
||||
|
||||
* New CDROM FILEIO handler added.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Generic SCSI target mid-level for Linux (SCST)
|
||||
==============================================
|
||||
|
||||
Version 0.9.5, XX XXX 2006
|
||||
Version 0.9.5, 01 Dec 2006
|
||||
--------------------------
|
||||
|
||||
SCST is designed to provide unified, consistent interface between SCSI
|
||||
@@ -430,6 +430,9 @@ IMPORTANT: Some of those options enabled by default, i.e. SCST is optimized
|
||||
parameters in /sys/block/device directory, they also affect the
|
||||
performance. If you find the best values, please share them with us.
|
||||
|
||||
- Also it is recommended to turn the kernel preemption off, i.e. set
|
||||
the kernel preemption model to "No Forced Preemption (Server)".
|
||||
|
||||
5. For hardware.
|
||||
|
||||
- Make sure that your target hardware (e.g. target FC card) and underlaying
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
/* Version numbers, the same as for the kernel */
|
||||
#define SCST_VERSION_CODE 0x000905
|
||||
#define SCST_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
|
||||
#define SCST_VERSION_STRING "0.9.5-pre2"
|
||||
#define SCST_VERSION_STRING "0.9.5"
|
||||
|
||||
/*************************************************************
|
||||
** States of command processing state machine
|
||||
|
||||
@@ -76,13 +76,13 @@ EXTRA_CFLAGS += -I$(INC_DIR)
|
||||
#EXTRA_CFLAGS += -DSTRICT_SERIALIZING
|
||||
|
||||
EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DFILEIO_ONLY
|
||||
EXTRA_CFLAGS += -DFILEIO_ONLY
|
||||
|
||||
#EXTRA_CFLAGS += -fno-inline
|
||||
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DTRACING
|
||||
|
||||
EXTRA_CFLAGS += -DDEBUG
|
||||
#EXTRA_CFLAGS += -DDEBUG
|
||||
#EXTRA_CFLAGS += -DDEBUG_TM -DTM_DBG_GO_OFFLINE=0
|
||||
#EXTRA_CFLAGS += -DDEBUG_RETRY
|
||||
#EXTRA_CFLAGS += -DDEBUG_OOM
|
||||
|
||||
@@ -51,9 +51,9 @@ INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
|
||||
EXTRA_CFLAGS += -I$(SUBDIRS) -I$(SUBDIRS)/../include
|
||||
#EXTRA_CFLAGS += -I$(SUBDIRS) -I$(SUBDIRS)/../../include -I$(SUBDIRS)/..
|
||||
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DTRACING
|
||||
|
||||
EXTRA_CFLAGS += -DDEBUG
|
||||
#EXTRA_CFLAGS += -DDEBUG
|
||||
|
||||
clean:
|
||||
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend Modules.symvers Module.symvers
|
||||
|
||||
@@ -110,7 +110,7 @@ of New Hampshire Interoperability Labs (UNH IOL)</a> for the <a
|
||||
project</a>, which is currently developed on <a
|
||||
href="http://unh-iscsi.sourceforge.net/">SourceForge.net</a>.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;">The latest stable version is 0.9.4. It
|
||||
<p style="text-align: justify;">The latest stable version is 0.9.5. It
|
||||
supports SCSI 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). Also it supports FILEIO and "performance"
|
||||
@@ -165,13 +165,15 @@ Qlogic 2x00 initiator
|
||||
driver. The port was done by Nathaniel Clark. This is stable and
|
||||
functional driver with
|
||||
the larger feature set, than the parent driver has.</p>
|
||||
<p style="text-align: justify;">The latest version is 0.9.3.8. Requires
|
||||
Linux kernel version 2.6.15.X and SCST version 0.9.4 or higher.
|
||||
For usage with other kernel versions you will need to port the
|
||||
initiator patch to that version of the kernel.<br>
|
||||
<p style="text-align: justify;">The latest version is 0.9.5. Requires
|
||||
Linux kernel version 2.6.16.X and SCST version 0.9.5 or higher.
|
||||
For usage with other kernel versions you need to port the
|
||||
initiator patch to that version of the kernel. Tested on i386 and
|
||||
x86_64 only, but
|
||||
should work on any other supported by Linux platform.
|
||||
</p>
|
||||
<p style="text-align: justify;">You can find the latest development
|
||||
version of this driver in the SCST CVS. See above how to setup access
|
||||
version of this driver in the SCST SVN. See above how to setup access
|
||||
to it.<br>
|
||||
</p>
|
||||
<p style="text-align: justify;"><a
|
||||
@@ -192,7 +194,7 @@ driver was taken Red Hat's driver from the stock 2.4.20 kernel. Then it
|
||||
was patched, basically, 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 going to be obsolete soon in favor of
|
||||
is also supported. This driver is obsoleted in favor of
|
||||
2.6-based driver (see above).<br>
|
||||
<br>
|
||||
The latest version is 0.9.3.4. Requires Linux kernel versions 2.4.20 or
|
||||
|
||||
Reference in New Issue
Block a user