Files
scst/mpt
Vladislav Bolkhovitin a85225d5a3 Merged revisions 6703-6718,6720-6721 via svnmerge from
svn+ssh://vlnb@svn.code.sf.net/p/scst/svn/trunk

........
  r6703 | bvassche | 2015-11-19 08:53:18 -0800 (Thu, 19 Nov 2015) | 5 lines
  
  scst_sysfs: Introduce scst_parse_add_repl_param()
  
  This makes the __scst_process_luns_mgmt_store() source code slightly
  easier to read.
........
  r6704 | bvassche | 2015-11-19 09:30:24 -0800 (Thu, 19 Nov 2015) | 1 line
  
  scripts/run-regression-tests: Also test no-DLM build
........
  r6705 | bvassche | 2015-11-19 09:31:02 -0800 (Thu, 19 Nov 2015) | 1 line
  
  scst: Fix procfs build
........
  r6706 | bvassche | 2015-11-19 09:48:18 -0800 (Thu, 19 Nov 2015) | 1 line
  
  scst: More procfs build fixes. See also r6694.
........
  r6707 | bvassche | 2015-11-20 13:47:57 -0800 (Fri, 20 Nov 2015) | 5 lines
  
  scst_local: Linux kernel v4.4 build fix
  
  Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
  [ bvanassche: Merged the two #if-statements into a single #if-statement ]
........
  r6708 | bvassche | 2015-11-20 15:23:48 -0800 (Fri, 20 Nov 2015) | 2 lines
  
  /etc/init.d/scst: Suppress rmmod error messages
........
  r6709 | bvassche | 2015-11-20 16:19:04 -0800 (Fri, 20 Nov 2015) | 5 lines
  
  scstadmin: Improve copy manager support
  
  Add support for saving and restoring copy manager attributes.
........
  r6710 | bvassche | 2015-11-22 11:49:18 -0800 (Sun, 22 Nov 2015) | 4 lines
  
  qla2x00t: Fix a few typos
  
  Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
........
  r6711 | bvassche | 2015-11-22 12:03:29 -0800 (Sun, 22 Nov 2015) | 7 lines
  
  mpt: Include header file mptbase.h without path
  
  Allow include path modification with LSI_INC_DIR.
  
  Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
........
  r6712 | bvassche | 2015-11-23 15:04:57 -0800 (Mon, 23 Nov 2015) | 4 lines
  
  scstadmin: Improve copy manager support further
  
  Also restore pass-through LUNs
........
  r6713 | bvassche | 2015-11-23 15:05:24 -0800 (Mon, 23 Nov 2015) | 2 lines
  
  scstadmin: Make regression test 6 pass
........
  r6714 | bvassche | 2015-11-25 09:28:02 -0800 (Wed, 25 Nov 2015) | 6 lines
  
  usr/fileio: Build fix for Ubuntu 15.10
  
  Ubuntu 15.10 includes Linux kernel 4.2 but does not define
  SERVICE_ACTION_IN_16 in the <scsi/scsi.h> glibc header. Hence
  provide a definition in scst_const.h.
........
  r6715 | bvassche | 2015-11-27 20:39:57 -0800 (Fri, 27 Nov 2015) | 1 line
  
  scst-const.h: Follow-up for r6714
........
  r6716 | bvassche | 2015-12-02 08:57:45 -0800 (Wed, 02 Dec 2015) | 1 line
  
  scst: Rename the PR-sync document to avoid filenames with spaces in the SCST tree
........
  r6717 | bvassche | 2015-12-02 14:59:33 -0800 (Wed, 02 Dec 2015) | 1 line
  
  scstadmin: Ensure that -no_lip takes effect for all SCST configuration commands
........
  r6718 | bvassche | 2015-12-03 16:31:40 -0800 (Thu, 03 Dec 2015) | 1 line
  
  nightly build: Update kernel versions
........
  r6720 | vlnb | 2015-12-07 19:44:51 -0800 (Mon, 07 Dec 2015) | 3 lines
  
  docs: fix (extra)clean brocken by r6716
........
  r6721 | vlnb | 2015-12-07 19:51:01 -0800 (Mon, 07 Dec 2015) | 3 lines
  
  Cleanup
........


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.1.x@6722 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-12-08 03:58:10 +00:00
..
2014-01-19 19:26:29 +00:00
2008-07-09 06:53:41 +00:00
2006-12-13 11:42:59 +00:00

Target driver for LSI/MPT XXX cards
===================================

Version X.X.X, XX XXX 200X
--------------------------

This driver was originally developed by Hu Gang and then is developed by
Erik Habbinga <erikhabbinga@inphase-tech.com>. It is on the early stage
of development.

The current maintainer of this driver is Erik. Please send him all
question related to it (CC: scst-devel@lists.sourceforge.net).

Building from the Linux kernel tree
-----------------------------------

To build from the kernel tree, you should:

1. Link drivers/message/fusion/mpt_scst to $(SCST_DIR)/mpt.

2. Copy or link Makefile and Kconfig from $(SCST_DIR)/mpt/in-tree to
$(SCST_DIR)/mpt (Makefile will be replaced).

3. Patch drivers/message/fusion/Makefile and
drivers/message/fusion/Kconfig by diffs from $(SCST_DIR)/mpt/in-tree

4. Correct in drivers/message/fusion/Makefile SCST_INC_DIR variable so
it points to correct directory with SCST include files.

Building outside the Linux kernel tree
--------------------------------------

Edit Makefile, comment there line 

obj-$(CONFIG_FUSION_SCST) += mpt_scst.o

and uncomment line

obj-m += mpt_scst.o

Notes on implementation
-----------------------

The driver takes the mptstm target driver implemented by LSI
and ports it to the SCST architecture.

The LSI hardware returns an error when it realizes that command
status and sense data cannot be sent in the same transaction.
This happens during non-packetized SCSI command handling (not FC or
SAS).  For SCSI implementations, the driver speculatively caches
sense data.  If the hardware reports that the sense data could not
be sent, the driver will return the cached sense data without
involving SCST if the next command is REQUEST SENSE.  Cached sense
data is discarded on bus reset or if the next command after sense
send failure was not REQUEST SENSE.

Caching sense data in this fashion probably won't work in a tagged
command queuing environment. If SCSI hardware is being used, the
driver inspects responses to the INQUIRY command and clears the
BQUE and CMDQUE bits in the standard INQUIRY response to disable
tagged command queuing.

Known issues
------------

Newer versions of SCSI HBA firmware have a bug where the incorrect
amount of data is transferred for non-divisible-by-4 length transfers
(like standard 14 byte REQUEST SENSE). It's hit or miss for recently
bought cards if it has bad firmware or not. Some recently acquired PCIe
SCSI HBA had a mix of good and bad target firmware. Revision 1.03.29 is
where it broke, and all the target firmware on LSI's website is 1.03.34,
which is broken for target mode. As a workaround the SCSI parallel
transfer rate is forced to very slow asynchronous wide (Fast-5), which
doesn't quite hit >> 10 MB/sec, depending on the SCSI HBA firmware
revision. LSI is aware of the problem and the driver will be updated to
restore functionality upon a new good SCSI HBA firmware release.