We use the 64-bit tag field in the SRP commands to store information allowing us to track each command. However, SCST only saves/uses 32-bits out of this 64-bit field. This causes our code to fail when we get a response SRP command that doesn't match any tags we used.
I have updated SCST to work with our product by changing it to save all 64-bits of the tag.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@150 d57e44dd-8a1f-0410-8b47-8ef2f437770f
We are using OFED target machines to export a large number of disks, many of which are just NULLIO disks, but we have noticed that VPD numbers have a significant tendency to conflict. For example if we name one disk abc12 and another abc21 they will end up with the same VPD.
We are using a quick, slightly hackish way to solve this, by just creating a random hash for each ascii value and then rotating that hash based on the position of the character in the name. If you would like here is our changes.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@149 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- pass FC transport error to SCST
- give SCST info about WWN of remote initiator
- info about expected transfer length and direction
- unifying printk error messages
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@145 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- VDISK_ONLY was removed, SCSI_EXEC_REQ_FIFO_DEFINED, defined by corresponding kernel patch used instead
- Minor fixes
- Docs updates
All users will need to revert old SCST kernel patch and apply the corresponding new one.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@142 d57e44dd-8a1f-0410-8b47-8ef2f437770f
First, the problem: you cannot calculate sgv_max_local_order and
sgv_max_trans_order by excess and then compare them with
get_order(size). The maximum number of local (SG + trans) entries may be
112 (like in amd64 case) and you bzero 128 sg_entries for every
allocation request between 65 and 128 pages because the order is the
same. This is the reason why single transfers of (70 * PAGE_SIZE) =
~285k or more fail on amd64. On i386 the limit is higher, since you can
shrink more records in one page, and so it's very difficult to reach.
Now, the solution: I created a patch, which consists in decreasing
sgv_max_local_order and sgv_max_trans_order by 1.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@140 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This is SCST driver for ISP Qlogic chipsets commonly used in many SCSI and FC
host bus adapters. Supported chipset are listed in README file, incomplete
list of supported HBA's is in doc/Hardware.txt .
It is based on Matthew Jacob's multiplatform driver for ISP chipsets,
which can be download from ftp://ftp.feral.com/pub/isp/isp_dist.tgz
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@135 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Added new errorString() method to SCST/SCST.pm containing
error message of last error encountered.
- Minor updates to scst_db - UNTESTED
- Changed SCST/SCST.pm to look for files like vdisk/vdisk instead
of vdisk/type to gather list of valid device handlers
- Minor bug fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@130 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Support for per-target default security groups added
- FILEIO made multithreaded
- BLOCKIO made async
- Other improvements, fixes and cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@121 d57e44dd-8a1f-0410-8b47-8ef2f437770f
and scst_mgmt_translate_lun() was changed to a hash-based one, thanks
to Michael G. Byrnes.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@116 d57e44dd-8a1f-0410-8b47-8ef2f437770f