diff --git a/doc/scst_pg.sgml b/doc/scst_pg.sgml
index 95d7e1fb7..83d1d2913 100644
--- a/doc/scst_pg.sgml
+++ b/doc/scst_pg.sgml
@@ -8,7 +8,7 @@
Vladislav Bolkhovitin <
-Version 0.9.3-pre4 2006/02/07, actual for SCST 0.9.3-pre4 and later
+Version 0.9.5 2006/12/01, actual for SCST 0.9.5 and later
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.
-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 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
-)
+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
+Clark
- Only one module is build and it interacts with a patched kernel
qla2xxx driver. The single module is called qla2x00tgt.ko instead of
diff --git a/qla2x00t/qla2x00-target/Makefile b/qla2x00t/qla2x00-target/Makefile
index 29586ec52..2c6881ab8 100644
--- a/qla2x00t/qla2x00-target/Makefile
+++ b/qla2x00t/qla2x00-target/Makefile
@@ -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),)
diff --git a/qla2x00t/qla2x00-target/README b/qla2x00t/qla2x00-target/README
index 9f71e1e0b..28d441689 100644
--- a/qla2x00t/qla2x00-target/README
+++ b/qla2x00t/qla2x00-target/README
@@ -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
diff --git a/qla2x00t/qla2x00-target/qla2x00t.h b/qla2x00t/qla2x00-target/qla2x00t.h
index 402095760..8f75b5fa9 100644
--- a/qla2x00t/qla2x00-target/qla2x00t.h
+++ b/qla2x00t/qla2x00-target/qla2x00t.h
@@ -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 */
diff --git a/scst/ChangeLog b/scst/ChangeLog
index 4b3d60a47..da07a8b6f 100644
--- a/scst/ChangeLog
+++ b/scst/ChangeLog
@@ -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
- ).
+ 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 )
+ - 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 )
+ - Fixed support for > 2TB storage device in FILEIO handler (by Ming Zhang)
- - NULLIO added to FILEIO handler (by Ming Zhang )
+ - 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
- )
+ - 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
+ to Mark Buechler.
* New CDROM FILEIO handler added.
diff --git a/scst/README b/scst/README
index 002947384..7ba8c0378 100644
--- a/scst/README
+++ b/scst/README
@@ -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
diff --git a/scst/include/scsi_tgt.h b/scst/include/scsi_tgt.h
index 276e66cfb..ede2e30d4 100644
--- a/scst/include/scsi_tgt.h
+++ b/scst/include/scsi_tgt.h
@@ -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
diff --git a/scst/src/Makefile b/scst/src/Makefile
index 2c30e1446..2d9009281 100644
--- a/scst/src/Makefile
+++ b/scst/src/Makefile
@@ -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
diff --git a/scst/src/dev_handlers/Makefile b/scst/src/dev_handlers/Makefile
index e24965650..d9e7ecd77 100644
--- a/scst/src/dev_handlers/Makefile
+++ b/scst/src/dev_handlers/Makefile
@@ -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
diff --git a/www/scst_page.html b/www/scst_page.html
index 0c73c9943..7ab1fd13e 100644
--- a/www/scst_page.html
+++ b/www/scst_page.html
@@ -110,7 +110,7 @@ of New Hampshire Interoperability Labs (UNH IOL) for the , which is currently developed on SourceForge.net.
-The latest stable version is 0.9.4. It
+
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.
-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.
+
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.
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.
The latest version is 0.9.3.4. Requires Linux kernel versions 2.4.20 or