mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-17 12:46:27 +00:00
- Version changed to 1.0.0
- Build configuration changed to "Release" - iscsi-scst-howto.txt added - ChangeLog's updated - Minor docs changes - scstadm_install and scstadm_uninstall main Makefile targets added git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@433 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#export KDIR=/usr/src/linux-2.6
|
||||
|
||||
SCST_DIR=scst
|
||||
SCSTADM_DIR=scstadmin
|
||||
QLA_INI_DIR=qla2x00t
|
||||
QLA_DIR=qla2x00t/qla2x00-target
|
||||
QLA_ISP_DIR=qla_isp
|
||||
@@ -43,6 +44,9 @@ help:
|
||||
@echo " scst_install : scst: install"
|
||||
@echo " scst_uninstall : scst: uninstall"
|
||||
@echo ""
|
||||
@echo " scstadm_install : scstadmin: install"
|
||||
@echo " scstadm_uninstall : scstadmin: uninstall"
|
||||
@echo ""
|
||||
@echo " qla : make QLA target driver"
|
||||
@echo " qla_clean : 2.6 qla target: clean "
|
||||
@echo " qla_extraclean : 2.6 qla target: clean + clean dependencies"
|
||||
@@ -149,6 +153,12 @@ scst_clean:
|
||||
scst_extraclean:
|
||||
cd $(SCST_DIR) && $(MAKE) extraclean
|
||||
|
||||
scstadm_install:
|
||||
cd $(SCSTADM_DIR) && $(MAKE) install
|
||||
|
||||
scstadm_uninstall:
|
||||
cd $(SCSTADM_DIR) && $(MAKE) uninstall
|
||||
|
||||
qla:
|
||||
cd $(QLA_DIR) && $(MAKE)
|
||||
|
||||
@@ -275,5 +285,6 @@ release2debug:
|
||||
lsi lsi_install lsi_uninstall lsi_clean lsi_extraclean \
|
||||
iscsi iscsi_install iscsi_uninstall iscsi_clean iscsi_extraclean \
|
||||
scst scst_install scst_uninstall scst_clean scst_extraclean \
|
||||
scstadm_install scstadm_uninstall \
|
||||
usr usr_install usr_uninstall usr_clean usr_extraclean \
|
||||
debug2perf, debug2release, perf2debug, release2debug
|
||||
|
||||
@@ -34,5 +34,13 @@ Summary of changes in iSCSI-SCST since it was IET
|
||||
were relaced by the proper handling. Hovewer, there is a plenty of work in
|
||||
this area left, IET is known to have a lot of weaknesses here.
|
||||
|
||||
- Task management made more robust. Particularly, possible data
|
||||
corruption scenarios were fixed.
|
||||
|
||||
- Implemented SN based iSCSI IO flow control
|
||||
|
||||
- Response data send timeout implemented: now if initiator doesn't
|
||||
accept data for too long (30 sec), target closes connection
|
||||
|
||||
- A lot of other bugfixes and code cleanups.
|
||||
|
||||
|
||||
+22
-16
@@ -1,8 +1,8 @@
|
||||
iSCSI SCST target driver
|
||||
========================
|
||||
|
||||
Version 1.0.0/0.4.16r151, XX June 2008
|
||||
--------------------------------------
|
||||
Version 1.0.0/0.4.16r155, 7 July 2008
|
||||
-------------------------------------
|
||||
|
||||
This driver is a forked with all respects version of iSCSI Enterprise
|
||||
Target (IET) (http://iscsitarget.sourceforge.net/) with updates to work
|
||||
@@ -135,6 +135,25 @@ that issue.
|
||||
CAUTION: Working of target and initiator on the same host isn't
|
||||
======== supported. See SCST README file for details.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
Currently iscsi-scst-adm utility is broken, hence not built. But, in
|
||||
contrast to IET, in iSCSI-SCST it isn't needed so much, since all
|
||||
devices/LUNs management is done using SCST's /proc interface, e.g. using
|
||||
scstadmin utility. What's remained for iscsi-scst-adm is manage of iSCSI
|
||||
targets and their parameters. In case of changing any negotiable iSCSI
|
||||
parameters renegotiation in all corresponding sessions is required by
|
||||
iSCSI standard, i.e. they all must be restarted, which, basically, means
|
||||
iSCSI-SCST restart. So, for parameters changing as well as for
|
||||
adding/removing targets, the recommended way is to change
|
||||
iscsi-scst.conf, then restart iSCSI-SCST. In contrast to IET, this
|
||||
operation is safe. Also, as a side effect, your iscsi-scst.conf will
|
||||
always be in sync with the running system.
|
||||
|
||||
But, if you decide to fix iscsi-scst-adm, your patches will be
|
||||
appreciated.
|
||||
|
||||
Compilation options
|
||||
-------------------
|
||||
|
||||
@@ -152,19 +171,6 @@ in/out in the kernel's module Makefile:
|
||||
|
||||
- DEBUG_DIGEST_FAILURES - simulates digest failures in random places.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
Currently some iscsi-scst-adm functionality is broken. But, from one
|
||||
side, at the moment I don't have time to look at it and, from other
|
||||
side, in contrast to IET, in iSCSI-SCST this utility doesn't worth much,
|
||||
since all devices management is done using SCST's /proc interface.
|
||||
What's remained for iscsi-scst-adm is managing iSCSI targets and their
|
||||
parameters, but in any case changing of any negotiable iSCSI parameter
|
||||
needs renegotiation, i.e. the corresponding session restart, i.e.
|
||||
iSCSI-SCST restart. But, if you decide to fix iscsi-scst-adm, I will
|
||||
appreciate your patches.
|
||||
|
||||
Creating version of put_page_callback patch for your kernel
|
||||
-----------------------------------------------------------
|
||||
|
||||
@@ -174,7 +180,7 @@ yourself. This is pretty mechanical work, you don't need to understand
|
||||
how it works, you only need to do the following two steps:
|
||||
|
||||
1. Apply the closest version of put_page_callback-<kernel-version>.patch
|
||||
on your kernel. Resolve only failed hanks from include/ and
|
||||
on your kernel. Resolve only failed hunks from include/ and
|
||||
net/core/utils.c, ignore other failures.
|
||||
|
||||
2. Search net/ in your kernel source for "put_page" and "get_page"
|
||||
|
||||
@@ -0,0 +1,241 @@
|
||||
How to set up iSCSI-SCST using scstadmin.
|
||||
|
||||
1. Download, build and install iSCSI-SCST.
|
||||
|
||||
Download the source code:
|
||||
|
||||
Released version from http://sourceforge.net/project/showfiles.php?group_id=110471
|
||||
|
||||
or the latest development version by command:
|
||||
|
||||
svn co https://scst.svn.sourceforge.net/svnroot/scst/trunk
|
||||
|
||||
You need to patch the kernel and rebuild it. Only vanilla kernels from
|
||||
kernel.org are officially supported, but in most cases your favorite
|
||||
kernel will work fine as well. Select the patch according to your kernel
|
||||
version (2.6.18.1 in the example below):
|
||||
|
||||
cd /usr/src/kernels/linux-2.6.18.1
|
||||
patch -p1 < /home/erezz/work/scst/iscsi-scst/kernel/patches/put_page_callback-2.6.18.1.patch
|
||||
patch -p1 < /home/erezz/work/scst/scst/kernel/scst_exec_req_fifo-2.6.18.patch
|
||||
make clean
|
||||
|
||||
Then, build the kernel (i.e. make, make modules_install, make install)
|
||||
and restart the machine.
|
||||
|
||||
In order to build and install SCST and iSCSI, run
|
||||
|
||||
make scst scst_install iscsi iscsi_install
|
||||
|
||||
ISCSI-SCST includes the following components:
|
||||
* /etc/init.d/iscsi-scst - service script
|
||||
* iscsi-scstd - daemon
|
||||
* iscsi-scst-adm - admin tool (not built in 1.0.0)
|
||||
* man pages
|
||||
* Configuration files (located under iscsi-scst/etc/, need to be copied to /etc if you want to use them):
|
||||
* initiators.allow - used for assigning specific initiators to targets
|
||||
* initiators.deny - used for assigning specific initiators to targets
|
||||
* iscsi-scstd.conf - list of targets and their properties
|
||||
|
||||
2. Set up /etc/iscsi/ininitiatorname.iscsi. The most convenient way to
|
||||
set up this file is to install the open-iscsi package provided by your
|
||||
Linux distro first and then to run the bash commands shown below.
|
||||
Verify the contents of the generated file.
|
||||
/etc/init.d/open-iscsi stop
|
||||
{ echo "InitiatorName=$(/usr/sbin/iscsi-iname)"; echo "InitiatorAlias=$(hostname)"; } >/etc/iscsi/initiatorname.iscsi
|
||||
/etc/init.d/open-iscsi start
|
||||
|
||||
3. Set up /etc/iscsi-scstd.conf, e.g. by running the following shell commands:
|
||||
cat <<EOF >/etc/iscsi-scstd.conf
|
||||
Target $(sed -n 's/InitiatorName=//p' /etc/iscsi/initiatorname.iscsi):storage
|
||||
EOF
|
||||
|
||||
4. Set up /etc/scst.conf. The bash statements shown below set up a
|
||||
configuration file for two vdisks. Replace the device names in the
|
||||
array 'disk' by those that apply to your system:
|
||||
{
|
||||
echo "[HANDLER vdisk]"
|
||||
echo "#DEVICE <vdisk name>,<device path>,<options>,<block size>"
|
||||
disk=(/dev/md733 /dev/md734)
|
||||
for ((i=0;i<${#disk[*]};i++))
|
||||
do
|
||||
echo "DEVICE vdisk$i,${disk[$i]},NV_CACHE,512"
|
||||
done
|
||||
echo "[ASSIGNMENT Default]"
|
||||
echo "#DEVICE <device name>,<lun>"
|
||||
for ((i=0;i<${#disk[*]};i++))
|
||||
do
|
||||
echo "DEVICE vdisk$i,$i"
|
||||
done
|
||||
} > /etc/scst.conf
|
||||
|
||||
Note, that you must have LUN 0. That's a SCSI requirement (documented in SCST's README).
|
||||
|
||||
5. Install scstadmin:
|
||||
cd scstadmin-x.y.z
|
||||
make install
|
||||
|
||||
6. Edit /etc/init.d/scst: remove the modules you do not need from the
|
||||
SCST_MODULES variable, e.g. qla2x00tgt.
|
||||
|
||||
6. Create soft links in /etc/init.d such that SCST starts up
|
||||
automatically. Use either chkconfig or update-rc.d, depending on the
|
||||
Linux distribution you are using. An example for Debian systems:
|
||||
update-rc.d scst defaults
|
||||
update-rc.d iscsi-scst defaults
|
||||
|
||||
7. Restart SCST and iSCSI-SCST such that the new settings become effective:
|
||||
/etc/init.d/iscsi-scst stop
|
||||
/etc/init.d/scst stop
|
||||
/etc/init.d/scst start
|
||||
/etc/init.d/iscsi-scst start
|
||||
|
||||
|
||||
How to install and use iSCSI-SCST without using scstadmin
|
||||
|
||||
First, start scst_disk: modprobe scst_disk
|
||||
|
||||
/etc/init.d/iscsi-scst can be used to start/stop/restart/check status.
|
||||
|
||||
Selecting devices to be used by SCST.
|
||||
|
||||
You can see the list of available devices:
|
||||
|
||||
# cat /proc/scsi_tgt/scsi_tgt
|
||||
Device (host:ch:id:lun or name) Device handler
|
||||
0:0:0:0 dev_disk
|
||||
1:0:0:0 dev_disk
|
||||
3:0:0:0 dev_disk
|
||||
3:0:0:1 dev_disk
|
||||
3:0:0:2 dev_disk
|
||||
3:0:0:3 dev_disk
|
||||
3:0:0:4 dev_disk
|
||||
3:0:0:5 dev_disk
|
||||
3:0:0:6 dev_disk
|
||||
3:0:0:7 dev_disk
|
||||
2:0:0:0 none
|
||||
4:0:0:0 none
|
||||
4:0:0:5 dev_disk
|
||||
4:0:0:6 dev_disk
|
||||
4:0:0:7 dev_disk
|
||||
4:0:0:8 dev_disk
|
||||
4:0:0:9 dev_disk
|
||||
4:0:1:0 dev_disk
|
||||
4:0:1:1 dev_disk
|
||||
4:0:1:2 dev_disk
|
||||
4:0:1:3 dev_disk
|
||||
4:0:1:4 dev_disk
|
||||
5:0:0:0 none
|
||||
5:0:0:5 dev_disk
|
||||
5:0:0:6 dev_disk
|
||||
5:0:0:7 dev_disk
|
||||
5:0:0:8 dev_disk
|
||||
5:0:0:9 dev_disk
|
||||
5:0:1:0 dev_disk
|
||||
5:0:1:1 dev_disk
|
||||
5:0:1:2 dev_disk
|
||||
5:0:1:3 dev_disk
|
||||
5:0:1:4 dev_disk
|
||||
|
||||
LUN masking.
|
||||
|
||||
SCST defines security groups. For each group, you can add LUNs.
|
||||
|
||||
If you want to have all LUNs available for all targets, just add them to
|
||||
the "Default" group:
|
||||
|
||||
# echo "add 5:0:0:8 0" >/proc/scsi_tgt/groups/Default/devices
|
||||
# cat /proc/scsi_tgt/groups/Default/devices
|
||||
Device (host:ch:id:lun or name) Virtual lun Options
|
||||
5:0:0:8 0
|
||||
|
||||
Now, the LUN "5:0:0:8" was added to the "Default" group as LUN #0.
|
||||
|
||||
Note, that you must have LUN 0. That's a SCSI requirement (documented in SCST's README).
|
||||
|
||||
Defining LUN masking
|
||||
|
||||
In order to associate specific LUNs with specific targets, do the following:
|
||||
|
||||
* Create a group for the target:
|
||||
|
||||
echo "add_group Default_iqn.2007-05.com.example:storage.iscsi-scst-1" >/proc/scsi_tgt/scsi_tgt
|
||||
|
||||
* Add LUNs to the group:
|
||||
|
||||
echo "add 4:0:0:8 0" > /proc/scsi_tgt/groups/Default_iqn.2007-05.com.example\:storage.iscsi-scst-1/devices
|
||||
|
||||
This will assign the LUN "4:0:0:8" to the target iqn.2007-05.com.example:storage.iscsi-scst-1.
|
||||
Again, you must have LUN 0 for each group.
|
||||
|
||||
Deleting a LUN from a group
|
||||
|
||||
Run the following command:
|
||||
|
||||
echo "del 4:0:0:8 0" > /proc/scsi_tgt/groups/Default_iqn.2007-05.com.example\:storage.iscsi-scst-1/devices
|
||||
|
||||
This will remove the LUN "4:0:0:8" from the target iqn.2007-05.com.example:storage.iscsi-scst-1.
|
||||
|
||||
Deleting a group.
|
||||
|
||||
Run the following command:
|
||||
|
||||
echo "del_group Default_iqn.2007-05.com.example:storage.iscsi-scst-1" >/proc/scsi_tgt/scsi_tgt
|
||||
|
||||
For more information about LUN masking, refer to SCST README, section
|
||||
"Access and devices visibility management (LUN masking)".
|
||||
|
||||
Creating targets using iscsi-scstd.conf.
|
||||
|
||||
The easiest way to create targets is to define them in
|
||||
/etc/iscsi-scstd.conf. An example can be found in etc/iscsi-scstd.conf.
|
||||
You need to have this file under /etc/ before starting iSCSI-SCST.
|
||||
|
||||
Assigning targets to specific initiators
|
||||
|
||||
In order to assign targets to specific initiators, you need to have
|
||||
/etc/initiators.allow and /etc/initiators.deny. You can find
|
||||
example files in etc/initiators.allow and etc/initiators.deny.
|
||||
|
||||
Note that all targets are allowed to all initiators by default, so if
|
||||
you want to use /etc/initiators.allow, you will need to have
|
||||
/etc/initiators.deny that looks like this:
|
||||
|
||||
ALL ALL
|
||||
|
||||
This will deny all initiators expect for those defined in /etc/initiators.allow.
|
||||
|
||||
Useful examples of iscsi-scst-adm:
|
||||
|
||||
Show a specific target:
|
||||
|
||||
# iscsi-scst-adm --op show --tid=1
|
||||
QueuedCommands=0
|
||||
|
||||
Show the configured parameters for a specific target:
|
||||
|
||||
# iscsi-scst-adm --op show --tid=1 --sid=0
|
||||
InitialR2T=No
|
||||
ImmediateData=
|
||||
MaxConnections=0
|
||||
MaxRecvDataSegmentLength=4269849632
|
||||
MaxXmitDataSegmentLength=10933
|
||||
MaxBurstLength=4294967295
|
||||
FirstBurstLength=32767
|
||||
DefaultTime2Wait=4203042
|
||||
DefaultTime2Retain=5
|
||||
MaxOutstandingR2T=0
|
||||
DataPDUInOrder=No
|
||||
DataSequenceInOrder=Yes
|
||||
ErrorRecoveryLevel=0
|
||||
HeaderDigest=
|
||||
DataDigest=CRC32C
|
||||
OFMarker=
|
||||
IFMarker=No
|
||||
OFMarkInt=Reject
|
||||
IFMarkInt=Reject
|
||||
|
||||
|
||||
Bart Van Assche
|
||||
Erez Zilber
|
||||
Vladislav Bolkhovitin
|
||||
@@ -26,9 +26,9 @@ SCST_INC_DIR := $(SUBDIRS)/../../scst/include
|
||||
EXTRA_CFLAGS += -I$(src)/../include -I$(SCST_INC_DIR)
|
||||
# -Wextra -Wno-unused-parameter
|
||||
|
||||
EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DDEBUG -g
|
||||
#EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
EXTRA_CFLAGS += -DTRACING
|
||||
#EXTRA_CFLAGS += -DDEBUG -g
|
||||
|
||||
#EXTRA_CFLAGS += -DDEBUG_DIGEST_FAILURES
|
||||
|
||||
|
||||
@@ -1,10 +1,31 @@
|
||||
Summary of changes between versions 0.9.5 and 0.9.6
|
||||
Summary of changes between versions 0.9.5 and 1.0.0
|
||||
---------------------------------------------------
|
||||
|
||||
- Fixed sg_tablesize in qla2x00t to be per target card, not global
|
||||
|
||||
- Updated to work on 2.6.25.x
|
||||
|
||||
- Updated to work on 2.6.24.x
|
||||
|
||||
- Fixed possible crash if tgt module rmmod'ed under load
|
||||
|
||||
- Fixed incorrect residual on internal BUSY replies
|
||||
|
||||
- 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.
|
||||
|
||||
- Fixed problem with SNS, not advertising target mode.
|
||||
|
||||
- Support for per-target default security groups added.
|
||||
|
||||
- Updated to work on 2.6.22.x kernels.
|
||||
|
||||
- Updated to work on 2.6.21.x kernels.
|
||||
|
||||
- Updated to work on 2.6.20.x kernels.
|
||||
|
||||
- Updated to work with SCST 0.9.6.
|
||||
|
||||
- /proc support routines changed to work with seq_file interface.
|
||||
|
||||
@@ -35,9 +35,9 @@ 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 -g
|
||||
#EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
EXTRA_CFLAGS += -DTRACING
|
||||
#EXTRA_CFLAGS += -DDEBUG_TGT -g
|
||||
#EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD
|
||||
|
||||
ifeq ($(KVER),)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Target driver for Qlogic 2200/2300 Fibre Channel cards
|
||||
======================================================
|
||||
|
||||
Version 1.0.0, XX June 2008
|
||||
---------------------------
|
||||
Version 1.0.0, 7 July 2008
|
||||
--------------------------
|
||||
|
||||
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
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* Copyright (C) 2004 - 2005 Leonid Stoljar
|
||||
* Copyright (C) 2006 Nathaniel Clark <nate@misrule.us>
|
||||
*
|
||||
* Qlogic 2x00 SCSI target driver.
|
||||
* QLogic 2x00 SCSI target driver.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* Copyright (C) 2004 - 2005 Leonid Stoljar
|
||||
* Copyright (C) 2006 Nathaniel Clark <nate@misrule.us>
|
||||
*
|
||||
* Qlogic 2x00 SCSI target driver.
|
||||
* QLogic 2x00 SCSI target driver.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
@@ -37,8 +37,8 @@
|
||||
|
||||
/* 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,6,0)
|
||||
#define Q2T_VERSION_STRING "1.0.0-rc1"
|
||||
#define Q2T_VERSION_CODE Q2T_VERSION(1,0,0,0)
|
||||
#define Q2T_VERSION_STRING "1.0.0"
|
||||
|
||||
#define Q2T_MAX_CDB_LEN 16
|
||||
#define Q2T_TIMEOUT 10 /* in seconds */
|
||||
|
||||
+57
-2
@@ -1,6 +1,61 @@
|
||||
Summary of changes between versions 0.9.5 and 0.9.6
|
||||
Summary of changes between versions 0.9.5 and 1.0.0
|
||||
---------------------------------------------------
|
||||
|
||||
- Added per-device memory limit and new scst.ko module parameter scst_max_dev_cmd_mem
|
||||
|
||||
- Sending REQUEST SENSE fixed
|
||||
|
||||
- Fixed possible incorrect command's retry if double RESET UA is detected.
|
||||
|
||||
- Fixed __exit misuse, when such functions called from __init functions.
|
||||
|
||||
- "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
|
||||
|
||||
- Obtaining device queue parameters in scst_obtain_device_parameters()
|
||||
changed to handle NOT READY sense
|
||||
|
||||
- Added possibility to create virtual removable devices
|
||||
|
||||
- Updated to work on 2.6.25.x
|
||||
|
||||
- Fixed READ POSITION command handling
|
||||
|
||||
- TM processing made independant from other TM commands (before it was serialized)
|
||||
|
||||
- Sense buffer made dynamic
|
||||
|
||||
- Clustering statistic added
|
||||
|
||||
- Updated to work on 2.6.24.x
|
||||
|
||||
- Version protection added
|
||||
|
||||
- Processing latency measurement facility added
|
||||
|
||||
- Sessions registration/unregistration made independant from other activities
|
||||
|
||||
- Major performance improvements
|
||||
|
||||
- Major task management handling improvements
|
||||
|
||||
- Updated to work on 2.6.23.x
|
||||
|
||||
- Switching between debug<->performance<->release builds added
|
||||
|
||||
- scsi_tgt renamed to scst, scsi_tgt.h renamed to scst.h
|
||||
|
||||
- Updated to work on 2.6.22.x
|
||||
|
||||
- Semaphores converted to mutexes
|
||||
|
||||
- 64-bit platform cleanups
|
||||
|
||||
- Added limit on maximum queued on a device commands
|
||||
|
||||
- Threads made per-device
|
||||
|
||||
- User space device handler added
|
||||
|
||||
- New SGV cache low memory management backend with memory flow control
|
||||
facility was implemented, thanks to Krzysztof Blaszkowski.
|
||||
|
||||
@@ -31,7 +86,7 @@ Summary of changes between versions 0.9.5 and 0.9.6
|
||||
|
||||
- Support for CPU cache flushing before doing DMA to target devices added.
|
||||
|
||||
- Various cleanups, bug fixes and improvements.
|
||||
- A lot of cleanups, bug fixes and improvements.
|
||||
|
||||
Summary of changes between versions 0.9.4 and 0.9.5
|
||||
---------------------------------------------------
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
Generic SCSI target mid-level for Linux (SCST)
|
||||
==============================================
|
||||
|
||||
Version 1.0.0, XX June 2008
|
||||
---------------------------
|
||||
Version 1.0.0, 7 July 2008
|
||||
--------------------------
|
||||
|
||||
SCST is designed to provide unified, consistent interface between SCSI
|
||||
target drivers and Linux kernel and simplify target drivers development
|
||||
|
||||
+2
-2
@@ -48,9 +48,9 @@ typedef _Bool bool;
|
||||
#endif
|
||||
|
||||
/* Version numbers, the same as for the kernel */
|
||||
#define SCST_VERSION_CODE 0x00090601
|
||||
#define SCST_VERSION_CODE 0x01000000
|
||||
#define SCST_VERSION(a, b, c, d) (((a) << 24) + ((b) << 16) + ((c) << 8) + d)
|
||||
#define SCST_VERSION_STRING "1.0.0-rc2"
|
||||
#define SCST_VERSION_STRING "1.0.0"
|
||||
#define SCST_INTERFACE_VERSION SCST_VERSION_STRING "$Revision$" SCST_CONST_VERSION
|
||||
|
||||
/*************************************************************
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
#define DEV_USER_NAME "scst_user"
|
||||
#define DEV_USER_PATH "/dev/"
|
||||
#define DEV_USER_VERSION_NAME "1.0.0-rc2"
|
||||
#define DEV_USER_VERSION_NAME "1.0.0"
|
||||
#define DEV_USER_VERSION DEV_USER_VERSION_NAME "$Revision$" SCST_CONST_VERSION
|
||||
|
||||
/*
|
||||
|
||||
+3
-3
@@ -115,7 +115,7 @@ EXTRA_CFLAGS += -I$(SCST_INC_DIR) -Wextra -Wno-unused-parameter
|
||||
|
||||
#EXTRA_CFLAGS += -DSTRICT_SERIALIZING
|
||||
|
||||
EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
|
||||
#EXTRA_CFLAGS += -DUSE_EXPECTED_VALUES
|
||||
#EXTRA_CFLAGS += -DALLOW_PASSTHROUGH_IO_SUBMIT_IN_SIRQ
|
||||
@@ -123,9 +123,9 @@ EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
|
||||
#EXTRA_CFLAGS += -fno-inline
|
||||
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DTRACING
|
||||
|
||||
EXTRA_CFLAGS += -DDEBUG -g
|
||||
#EXTRA_CFLAGS += -DDEBUG -g
|
||||
#EXTRA_CFLAGS += -DDEBUG_TM -DTM_DBG_GO_OFFLINE=0
|
||||
#EXTRA_CFLAGS += -DDEBUG_RETRY
|
||||
#EXTRA_CFLAGS += -DDEBUG_OOM
|
||||
|
||||
@@ -69,10 +69,10 @@ endif
|
||||
|
||||
EXTRA_CFLAGS += -I$(SUBDIRS) -I$(SCST_INC_DIR) -Wextra -Wno-unused-parameter
|
||||
|
||||
EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DDEBUG -g
|
||||
EXTRA_CFLAGS += -DTRACING
|
||||
#EXTRA_CFLAGS += -DDEBUG -g
|
||||
|
||||
clean:
|
||||
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend Modules.symvers \
|
||||
|
||||
+3
-3
@@ -29,9 +29,9 @@ CFLAGS += -O2 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes \
|
||||
PROGS = fileio_tgt
|
||||
LIBS = -lpthread
|
||||
|
||||
CFLAGS += -DEXTRACHECKS
|
||||
#CFLAGS += -DTRACING
|
||||
CFLAGS += -DDEBUG -g
|
||||
#CFLAGS += -DEXTRACHECKS
|
||||
CFLAGS += -DTRACING
|
||||
#CFLAGS += -DDEBUG -g
|
||||
|
||||
#CFLAGS += -DDEBUG_NOMEM
|
||||
#CFLAGS += -DDEBUG_SENSE
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
User space FILEIO handler
|
||||
=========================
|
||||
|
||||
Version 1.0.0, XX June 2008
|
||||
---------------------------
|
||||
Version 1.0.0, 7 July 2008
|
||||
--------------------------
|
||||
|
||||
User space program fileio_tgt uses interface of SCST's scst_user dev
|
||||
handler as well as allows to see how it works in various modes.
|
||||
|
||||
Reference in New Issue
Block a user