- Important reference counting and barriers usage cleanups
- Sense buffer made dynamic
- Other minor improvements and cleanups
- Docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@287 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Particularly:
- Added ability for target drivers to set result of command's status delvery to initiator (see scst_set_delivery_status())
- Added ability for user space devices set some mode page parameters to make SCST core behave correspondingly
- TM improvements
- Few possible crashes fixed
- Logging improvements
- Performance improvements
- Docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@227 d57e44dd-8a1f-0410-8b47-8ef2f437770f
* Allows LSI MPT target driver to compile on kernels >2.6.15
* Changes the way how gettid() syscall gate implemented
- Small doc update
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@189 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This patch fixes a race condition where a pointer to the just-finished SCST command would interfere with the incoming target
command.
Also, printing out TargetStatusSendReq IOCStatus is now done in debug/tracing mode if we're a SCSI device and the expected "error" case for attempting to send simultaneous status and sense is triggered.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@86 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- corrects the amount of data transferred when cached sense data is used to satisfy a REQUEST SENSE command.
- removes support for non scatterlist buffers in scst_cmd (sg_cnt == 0).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@81 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This patch further fixes sense handling for the LSI driver in the non-packetized SCSI case:
- this version doesn't crash if a REQUEST SENSE command is sent.
- added a big comment explaining sense caching implementation.
- INQUIRY responses are inspected and tagged command queuing bits are cleared if LSI is a SCSI controller, per previous discussions.
- pending sense is cleared on a bus reset.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@78 d57e44dd-8a1f-0410-8b47-8ef2f437770f
There are a few minor changes:
- fix some 80 char line length issues
- fix some indenting
- change scst_to_dma_dir to scst_to_tgt_dma_dir
The big issue is fixing the sending of sense data. The LSI chip, when talking to a non-packetized SCSI initiator, cannot send both
status (i.e. check condition) and sense data (from autosense) in the same transaction. The result is a 006B
(MPI_IOC_STATUS_TARGET_STS_DATA_NOT_SENT) IOCStatus value when this is attempted. The sense data doesn't get transmitted over the
SCSI cable in this case. My fix, which is modeled on LSI's own SCSI target implementation, is to cache sense data before attempting
to send it. If a REQUEST SENSE command comes in with pending sense, the LSI driver will handle the REQUEST SENSE command on it's
own without involving SCST. Pending sense is cleared once the REQUEST SENSE command is handled, or if any other command comes in.
Sense data is cached per initiator. Apparantely this problem is only related to non-packetized SCSI interfaces. That's all I have
to test with, so I can't vouch for SAS or FC.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@75 d57e44dd-8a1f-0410-8b47-8ef2f437770f
--This line, and below, will be ignored--
_M trunk/mpt
_M trunk/mpt/in-tree
M trunk/mpt/in-tree/Makefile.diff
M trunk/mpt/mpt_scst.c
M trunk/mpt/Makefile
M trunk/qla2x00t/qla2x00-target/qla2x00t.c
M trunk/scst/kernel/in-tree/Makefile.scsi_tgt
D trunk/scst/include/scst_debug.c
M trunk/scst/include/scst_debug.h
M trunk/scst/src/scst_proc.c
M trunk/scst/src/scst_priv.h
A trunk/scst/src/scst_debug.c
M trunk/scst/src/scst_targ.c
M trunk/scst/src/scst_mem.c
M trunk/scst/src/Makefile
M trunk/scst/src/scst.c
M trunk/scst/src/dev_handlers/scst_cdrom.c
M trunk/scst/src/dev_handlers/scst_modisk.c
M trunk/scst/src/dev_handlers/scst_changer.c
M trunk/scst/src/dev_handlers/scst_fileio.c
M trunk/scst/src/dev_handlers/scst_tape.c
M trunk/scst/src/dev_handlers/scst_disk.c
M trunk/scst/src/dev_handlers/scst_processor.c
M trunk/scst/src/dev_handlers/scst_raid.c
M trunk/scst/src/dev_handlers/Makefile
M trunk/scst/src/dev_handlers/scst_dev_handler.h
M trunk/scst/README
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@62 d57e44dd-8a1f-0410-8b47-8ef2f437770f