Release 0.9.5 of both SCST and Qlogic target driver
authorvlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Fri, 1 Dec 2006 19:01:35 +0000 (19:01 +0000)
committervlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Fri, 1 Dec 2006 19:01:35 +0000 (19:01 +0000)
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@38 d57e44dd-8a1f-0410-8b47-8ef2f437770f

doc/scst_pg.sgml
qla2x00t/qla2x00-target/ChangeLog
qla2x00t/qla2x00-target/Makefile
qla2x00t/qla2x00-target/README
qla2x00t/qla2x00-target/qla2x00t.h
scst/ChangeLog
scst/README
scst/include/scsi_tgt.h
scst/src/Makefile
scst/src/dev_handlers/Makefile
www/scst_page.html

index 95d7e1f..83d1d29 100644 (file)
@@ -8,7 +8,7 @@
        <name>Vladislav Bolkhovitin &lt;<tt/vst @at@ vlnb .dot. net/&gt;</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/
 
index fcd1d37..9a6d85b 100644 (file)
@@ -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
index 29586ec..2c6881a 100644 (file)
 #    - 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),)
index 9f71e1e..28d4416 100644 (file)
@@ -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.
-
-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").
-
-To compile, type 'make'. It will build qla2x00tgt.ko module.
-
-To install, type 'make install'. The target driver will be installed in
-/lib/modules/`you_kernel_version`/extra.
-
-To uninstall, 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:
+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 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.
+
+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 compile the target driver, type 'make' in qla2x00-target/
+subdirectory. It will build qla2x00tgt.ko module.
+
+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'.
+
+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
 
index 4020957..8f75b5f 100644 (file)
@@ -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 */
index 4b3d60a..da07a8b 100644 (file)
@@ -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.
 
index 0029473..7ba8c03 100644 (file)
@@ -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
index 276e66c..ede2e30 100644 (file)
@@ -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
index 2c30e14..2d90092 100644 (file)
@@ -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
index e249656..d9e7ecd 100644 (file)
@@ -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
index 0c73c99..7ab1fd1 100644 (file)
@@ -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