vlnb [Mon, 12 May 2008 15:58:34 +0000 (15:58 +0000)]
- Fixed GFP_KERNEL misuse. Reported independently by mbe1@charter.net and Erez Zilber <erezz@Voltaire.COM>
- Fixed not sufficient in_irq() to determine atomic allocation context. Reported by mbe1@charter.net
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@365
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Wed, 7 May 2008 18:44:15 +0000 (18:44 +0000)]
- Rejecting command reimplemented in a more simple, straightforward and readable way.
- Minor external interface change: now target drivers should set for aborted commands SCST_CMD_DELIVERY_ABORTED status via scst_set_delivery_status(). In-tree drivers updated.
- Fixed broken compilation if put_page_callback patch not applied to the kernel. Reported by Erez Zilber <erezz@Voltaire.COM>
- Fixed several minor problems reported by David Berton <davidbrt@yahoo.com>
- Fixed __exit misuse, when such functions called from __init functions.
- Docs updated.
- Other minor changes and cleanups.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@364
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Sun, 4 May 2008 10:31:05 +0000 (10:31 +0000)]
Double "repository" word fixed
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@363
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Fri, 2 May 2008 11:40:26 +0000 (11:40 +0000)]
Web updates
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@362
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Thu, 1 May 2008 06:49:33 +0000 (06:49 +0000)]
Remove request sense warning and fix typo.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@361
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Thu, 1 May 2008 06:46:23 +0000 (06:46 +0000)]
Nullify f/w pointer if load fails.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@360
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Wed, 30 Apr 2008 14:19:38 +0000 (14:19 +0000)]
Bugfix - disallow to free initiator data when disabling target mode,
as long as all reference to it is dropped.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@359
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Thu, 24 Apr 2008 13:12:08 +0000 (13:12 +0000)]
Add missing definition of strncasecmp() for older kernels.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@358
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Thu, 24 Apr 2008 12:50:51 +0000 (12:50 +0000)]
- Update README.scst.
- Add comment about overall isp_scst.c design.
- Put some compile time selectable values in one place.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@357
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Thu, 24 Apr 2008 09:31:02 +0000 (09:31 +0000)]
Bugfix: put initiator reference counter when finish task management.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@356
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Thu, 24 Apr 2008 06:34:08 +0000 (06:34 +0000)]
Synchronize with Feral CVS repository:
- use kthread
- MBOX_ACQUIRE macro redefined
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@355
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Wed, 23 Apr 2008 11:17:33 +0000 (11:17 +0000)]
Remove unnecessary variables.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@354
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Wed, 23 Apr 2008 09:23:43 +0000 (09:23 +0000)]
- Compile time conditinal debug.
- Initialize variable.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@353
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Wed, 23 Apr 2008 09:15:14 +0000 (09:15 +0000)]
- Avoid tmd's leakage when disable target mode when pending I/O (some work still
needed in low level driver).
- Properly free channels on error case.
- Start HBA unregistation after proc file is removed.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@352
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Tue, 22 Apr 2008 15:04:09 +0000 (15:04 +0000)]
Fixed wrong state assigmnent in scst_xmit_response()
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@351
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Tue, 22 Apr 2008 10:30:53 +0000 (10:30 +0000)]
The bunch of pending changes. Sorry, it's quite big.
- "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
- Obtaining device queue parameters in scst_obtain_device_parameters() changed to handle NOT READY sense
- Fixed possible dev_cmd_count underflow
- Minor iSCSI-SCST connection closing cleanups and fixes
- Semantic of other *_atomic flags changed a bit. Now they are intended only to allow SCST to optimize execution context. The corresponing functions now can *always* be called on atomic context and, if necessary, should manually determine that using scst_cmd_atomic() function and restart using corresponding *_NEED_THREAD_* return value.
- scst_cmd_get_tgt_resp_flags() and SCST_TSC_FLAG_STATUS flag made obsolete and replaced by scst_cmd_get_is_send_status(). All in-tree drivers updated accordingly
- Cleanup: preprocessing_done_atomic removed, now preprocessing_done() callback always called on thread context
- 64-bit cleanups
- Documented that iscsi-scst-adm is currently broken and explained why
- In user space Makefile's added possibility to specify external linker flags
- Minor performance optimizations
- Other minor cleanups
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@350
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Mon, 21 Apr 2008 17:37:43 +0000 (17:37 +0000)]
Type fix.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@349
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Mon, 21 Apr 2008 17:34:42 +0000 (17:34 +0000)]
Remove not necessary headers and definitions.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@348
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Mon, 21 Apr 2008 16:34:55 +0000 (16:34 +0000)]
Fixes compilation brokenness on kernels below 2.6.24
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@347
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Mon, 21 Apr 2008 15:04:10 +0000 (15:04 +0000)]
Added possibility to create virtual removable devices
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@346
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Mon, 21 Apr 2008 10:45:22 +0000 (10:45 +0000)]
Limit scatter/gather table size (need to be reviewed).
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@345
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Mon, 21 Apr 2008 10:37:35 +0000 (10:37 +0000)]
- bug fix: pass error to scst_rx_data
- set transfer length for SPI transport
- add unlikely()/likely()
- print error when don't know what to do with tmd
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@344
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Mon, 21 Apr 2008 10:31:16 +0000 (10:31 +0000)]
Remove obsolete kernel_thread and use kthread API.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@343
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Mon, 21 Apr 2008 10:27:59 +0000 (10:27 +0000)]
Change proc interface to SCST like. Allow to enable/disable each lun for SPI device.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@342
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Mon, 21 Apr 2008 08:36:14 +0000 (08:36 +0000)]
Logout implementation, reference counting to protect initiator data.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@341
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Mon, 21 Apr 2008 07:01:13 +0000 (07:01 +0000)]
Forgotten in r338 patches
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@340
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Fri, 18 Apr 2008 16:42:10 +0000 (16:42 +0000)]
More svn:ignore fixes
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@339
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Fri, 18 Apr 2008 16:38:39 +0000 (16:38 +0000)]
Update for 2.6.25
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@338
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Thu, 17 Apr 2008 17:35:37 +0000 (17:35 +0000)]
scsi_tgt.h renamed to scst.h
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@337
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Thu, 17 Apr 2008 15:25:39 +0000 (15:25 +0000)]
- Fixes scst_user brokennesses in various modes, especially in iSCSI-SCST
- Minor debug logging fixes
- Minor cleanups
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@336
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 11 Apr 2008 08:18:02 +0000 (08:18 +0000)]
Remove unintended change from r334, added there only for testing TM.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@335
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 11 Apr 2008 07:34:07 +0000 (07:34 +0000)]
Fixes for task management:
- abort only tasks from initiator, which send TM function
- check LUN for LUN_RESET function
- schedule tasklet to free aborted command from tmd's queue
- call scst_tgt_cmd_done() to free aborted command from SCST
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@334
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Thu, 10 Apr 2008 10:57:30 +0000 (10:57 +0000)]
Critical fix:
- Fixes hang on HEAD OF QUEUE commands under high load
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@333
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 8 Apr 2008 09:11:10 +0000 (09:11 +0000)]
Fix bug when checking tmd flags against bidirectional transfer.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@332
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 8 Apr 2008 06:47:30 +0000 (06:47 +0000)]
Pass expected transfer length and direction to SCST for fibre channel devices.
Fix bug when using SCST_DATA_UNKNOWN insted of SCST_DATA_NONE.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@331
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 12:18:00 +0000 (12:18 +0000)]
We need only 2 debug level, one for error situations, second for normal
data flow. Print only in debug mode about sense buffer cutting.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@330
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 12:02:20 +0000 (12:02 +0000)]
Document changes about how to enable/disable target.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@329
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 11:57:40 +0000 (11:57 +0000)]
Fix bug when enabling target on nonzero channel.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@328
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 11:53:01 +0000 (11:53 +0000)]
Fix bugs introduced in r325 and r324.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@327
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 11:49:19 +0000 (11:49 +0000)]
Remove trailing whitespaces.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@326
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 11:48:28 +0000 (11:48 +0000)]
Implement multichannel support in the way each channel is seen by SCST
as separate HBA.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@325
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 11:26:53 +0000 (11:26 +0000)]
Fix HBA registration / unregistration:
- not acknowledge when fail to register
- unregistration when no one can call functions from HBA
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@324
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 4 Apr 2008 11:17:49 +0000 (11:17 +0000)]
Do not dump stack when data length is bigger than low level driver can handle.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@323
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 1 Apr 2008 13:51:07 +0000 (13:51 +0000)]
Print error when we can not send all sense data (which is very unlikely).
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@322
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 1 Apr 2008 12:04:34 +0000 (12:04 +0000)]
Add missed things from Feral CVS repository.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@321
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 1 Apr 2008 07:14:26 +0000 (07:14 +0000)]
Stop setting command expected values for SCST,
as we can not assure values are right.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@320
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 1 Apr 2008 06:47:11 +0000 (06:47 +0000)]
- Update copyrights.
- Substitute scsi_tdebug to debug.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@319
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 1 Apr 2008 06:38:55 +0000 (06:38 +0000)]
Remove obsolete linux stuff.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@318
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 13:03:31 +0000 (13:03 +0000)]
Synchronize with Feral CVS repository:
- define an IS_1020 macro
- more dma mask cleanups
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@317
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 13:01:38 +0000 (13:01 +0000)]
Synchronize with Feral CVS repository:
- Make pre-1240 cards be able to do 64 bit dma as well, making sure that
they don't cross a 16MB boundary.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@316
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 13:00:26 +0000 (13:00 +0000)]
Synchronize with Feral CVS repository:
- remove the poorly thought out isp_in_intr goop
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@315
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:58:58 +0000 (12:58 +0000)]
Synchronize with Feral CVS repository:
- Make FC_SCRATCH_ACQUIRE a macro that returns true/false
- Fixes from Stanislaw for 2.6.23 & 2.6.24. Many thanks.
- A quick hack to isp_kthread to use waitqueues instead of semaphores
to have less blockage. More rewrites later
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@314
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:47:37 +0000 (12:47 +0000)]
Synchronize with Feral CVS repository:
- Do some whitespace changes. Solaris related compilation fix. Remove
XS_SET_STATE_STAT macro.
- Remove XS_SET_STATE_STATE macro.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@313
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:44:16 +0000 (12:44 +0000)]
Synchronize with Feral CVS repository:
- update 24xx firmware to 4.03.00
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@312
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:42:36 +0000 (12:42 +0000)]
Synchronize with Feral CVS repository:
- whitespace and other minor fixes
- Remove F/W crash dump support. We only worked it out for 2200 and 2300
cards. It's also true that QLogic would not support us even if we *did*
give them a crash dump, so the usage here is not really worth it.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@311
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:38:10 +0000 (12:38 +0000)]
Synchronize with Feral CVS repository:
- simplify: remove f/w crashdump stuff
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@310
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:35:40 +0000 (12:35 +0000)]
Synchronize with Feral CVS repository:
- Use a slightly cleaner macro.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@309
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:33:36 +0000 (12:33 +0000)]
Synchronize with Feral CVS repository:
- whitespace
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@308
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:31:35 +0000 (12:31 +0000)]
Synchronize with Feral CVS repository:
- Allow different platforms/environments to specificy the size of the
high and low private storage for tmd_cmd_t structures
- Add a scan scsi thread event so that we can attach devices as we
discover them
- Fix some tabs
- Make things work correctly when CONFIG_FW_LOADER is *not* defined
- Get rid of sema and use wait_interruptible
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@307
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:27:17 +0000 (12:27 +0000)]
Synchronize with Feral CVS repository:
- remove redundant pdb
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@306
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Fri, 28 Mar 2008 12:23:27 +0000 (12:23 +0000)]
Synchronize with Feral CVS repository:
- Copyright Update
- Fix some fabric login bugs
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@305
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Mon, 17 Mar 2008 11:29:50 +0000 (11:29 +0000)]
Patch from Vu Pham <vuhuong@mellanox.com>: SRP target driver
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@304
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Fri, 14 Mar 2008 10:42:03 +0000 (10:42 +0000)]
Fixes possible *dev_cmd_count leak
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@303
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Thu, 13 Mar 2008 10:58:44 +0000 (10:58 +0000)]
Bugfixes:
- pass commands to SCST after assigning initiator to them
- enable lun's on proper channel
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@302
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Tue, 11 Mar 2008 19:09:30 +0000 (19:09 +0000)]
- Fixed race on TM leading to crashes
- Connection close improved to be less agressive and honor TCP TIME_WATE state
- Docs updates
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@301
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 11 Mar 2008 14:27:13 +0000 (14:27 +0000)]
Protect initiators list using tmds_lock. Avoid possibility to
allocate initiator twice.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@300
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Mon, 10 Mar 2008 10:59:56 +0000 (10:59 +0000)]
- Fixed READ POSITION command handling
- Fixed race in TM handling
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@299
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Wed, 5 Mar 2008 18:22:01 +0000 (18:22 +0000)]
- Fixed race on TM processing leading to BUG()
- Fixed dev_cdrom and dev_modisk load failures if there are no media in the drives
- Other minor fixes and cleanups
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@298
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Fri, 29 Feb 2008 18:25:56 +0000 (18:25 +0000)]
- TM fixes
- Optimizations and send timeout introduced in r295 temporary disabled
- Big connection shutdown times improvements. Great thanks to Alexey Kuznetsov for suggestions!
- RESERVE/RELEASE serialization now made with TST field 0 (i.e. single task set)
- Other minor fixes and improvements
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@297
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Tue, 26 Feb 2008 18:22:45 +0000 (18:22 +0000)]
- Fixes for previous commit
- Minor logging improvements
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@296
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Mon, 25 Feb 2008 18:48:02 +0000 (18:48 +0000)]
A bunch of pending changes:
- Response data send timeout implemented: now if initiator doesn't accept data for too long (7 sec), target closes connection
- Connction closing improved: now session cleared without need to wait for all outstanding commands data fully transmitted
- On session unregistration now all outstanding commands are implicitely aborted
- TM processing in SCST core made independant from other TM commands (before they were serialized)
- Few bug fixes
- Other minor improvements and cleanups
- Docs update
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@295
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 19 Feb 2008 12:02:14 +0000 (12:02 +0000)]
Pass proper expected length for INQUIRY command
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@294
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 19 Feb 2008 10:42:43 +0000 (10:42 +0000)]
Update README
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@293
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 19 Feb 2008 10:12:12 +0000 (10:12 +0000)]
Compilation for kernel 2.6.24
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@292
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 19 Feb 2008 09:38:52 +0000 (09:38 +0000)]
Allow driver to compile
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@291
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 19 Feb 2008 09:37:46 +0000 (09:37 +0000)]
Avoid race conditions when task is aborted. Commands can be
in two places, our internal queue or passed to SCST.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@290
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 19 Feb 2008 09:19:38 +0000 (09:19 +0000)]
Interface to enable/disable target per channel
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@289
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Mon, 18 Feb 2008 18:44:29 +0000 (18:44 +0000)]
Some cleanups and performance works
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@288
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
vlnb [Wed, 13 Feb 2008 17:15:47 +0000 (17:15 +0000)]
- Fixed minor problem in iSCSI-SCST
- Important reference counting and barriers usage cleanups
- Sense buffer made dynamic
- Other minor improvements and cleanups
- Docs updates
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@287
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Wed, 13 Feb 2008 16:28:35 +0000 (16:28 +0000)]
Prevent to compile broken driver
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@286
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 11:52:00 +0000 (11:52 +0000)]
Let's isp_scst.c compile, multichannel support will be added later.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@285
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 11:10:16 +0000 (11:10 +0000)]
Synchronize with Feral CVS repository:
Clean up MSI-X implementation and make sure we snag at least *3* vectors
so that the ATIO-Q vector is snagged.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@284
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 11:08:06 +0000 (11:08 +0000)]
Synchronize with Feral CVS repository:
- Add a missing MSI disable and provide for pre-2.6.8 kernels.
- Fix bugs- forgot to actually compile (shame on me).
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@283
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 11:05:04 +0000 (11:05 +0000)]
Synchronize with Feral CVS repository:
I don't know why I thought this would work- forcing a re-login to the fabric
controller just barfs.
Make down count reflect jiffies elapsed rather than depend on calls to
ISP_FC_RESCAN.
Shorten deadloop time default to 10 seconds.
At least enable MSI (if not MSI-X) for 24XX cards.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@282
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 11:02:21 +0000 (11:02 +0000)]
Synchronize with Feral CVS repository:
We can (somehow) get commands on an atio7 for which we've never had a PLOGI/PRLI.
How this happens, I don't know. Anyway, we stick a tentative entry in the PDB
and call the task thread to find the rest of the info. This includes, badly and
stupidly, searching for the N-port handle by asking the chip. Sometimes it's not
there. In that case, we terminate the command.
In restarting commands that arrive while we start up, have the watchdog
time call isp_task_thread- this gives us a bit of hysteresis.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@281
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:59:43 +0000 (10:59 +0000)]
Synchronize with Feral CVS repository:
- Need to include linux/vmalloc.h. Showed up on PPC port.
- Fix complaints about using an uninitialized pointer.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@280
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:55:04 +0000 (10:55 +0000)]
Synchronize with Feral CVS repository:
Make 2100/2200 and 2300 cards also maintain a target mode port database.
For the 24XX, we have to find the IID, N-port handle and channel when we
get an ATIO7. For the other cards, we already have the channel and N-port
handle and Port IID of the initiator, but have to find the S_ID.
Do the isp_find_pdb_by_{sid,loopid} functions search backwards to minimize
search time.
Don't load fw images more than once per device type!
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@279
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:50:57 +0000 (10:50 +0000)]
Synchronize with Feral CVS repository:
- Allow ISP_FC_GETDINFO callers to get target mode entries.
- Remove stray '`' from define and PPC is now working again.
- Fix a typo which had us loading 2322 f/w into a 2300. Oops.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@278
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:48:35 +0000 (10:48 +0000)]
Synchronize with Feral CVS repository:
Put RISC_CODE define in the firmware files.
Use the Linux 2.6 firmware loader support if available. This saves
close to 700K of useless code getting loaded otherwise.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@277
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:46:32 +0000 (10:46 +0000)]
Synchronize with Feral CVS repository:
Set PCI-X and PCI-E readahead to what QLogic manuals recommend.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@276
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:44:49 +0000 (10:44 +0000)]
Synchronize with Feral CVS repository:
If we're in role=NONE, then make sure that isp_init code sets state to
INITSTATE anyway.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@275
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:41:45 +0000 (10:41 +0000)]
Synchronize with Feral CVS repository:
Note that asking for "prefer N-port and then Loop" with the 24XX seems to
cause the f/w to crash. So, don't do that.
Firmware crashes are now considered fatal and cause the HBA to be marked dead.
Now that we've avoided the f/w crash in isp_init_24xx, we can process
toplogy options.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@274
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:37:37 +0000 (10:37 +0000)]
Synchronize with Feral CVS repository:
Add some code to do special IOCBs (that can just be ignored if they show
up as status IOCBs)- this is for some performance testing infrastructure.
Add some performance testing stuff.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@273
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:18:14 +0000 (10:18 +0000)]
Synchronize with Feral CVS repository:
Don't use both WWNs in the ICB block unless they're not NAA==2. This makes us
more consistent with QLogic driver setups and thus more likely to fit into the
same zoning setups.
If we're getting a PDB and it's for the Fabric Controller, force a login
to it (just in case it logged out underneath us). Return 'not logged in'
for the 24XX in case the 24XX specific login state isn't in the range of
PLOGI_DONE to LOGGED IN.
Don't do local loop scans if we have more than one channel (NP-IV) and we're
in a FL-port topology- we just end up poking ourselves usually.
Make sure we set loopstate in a couple of places we missed so that we
try and get it again.
Add in the RESET DEVICE and ABORT COMMAND functions for the 24XX cards
(finally).
Fix a longstanding bug where were passing the wrong (off by one) output
pointer to isp_handle_other_response.
Change isp_async...ISPASYNC_CHANGE_NOTIFY to have N-port handle, nlstate and
reason included as we get these for free with PDB Changed stuff for the
24XX card. Eventually we should be able to edit single local PDB entry
states instead of doing a full eval.
Put in the put of a 24XX Task Management Function IOCB. There is no get because
the firmware doesn't return it when done- instead a status iocb is done.
There is no "FAST POST" flag for the 24XX- this is a NOACK flag which means
that there is no interrupt if all goes well.
Fix spelling mistakes.
In isp_add_wwn_entry, ahem, don't allocate PDB entries out of the 'rexerved
for chip' area.
Put more comments in as to why we're terminating an exchange (and make them
all ISP_LOGTINFO).
Add, finally, the correct handling for a QIN_NOTIFY_ACK for a task management
function- this means we construct a ct7_entry_t to get the firmware to send
an FC Response IU for it. So, finally LUN RESETS and TARGET RESETS and
ABORT TASK will actually work and, more importantly, be seen to be working
by initiators.
Fix WWN defaults/active generation and retrieval. It was broken.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@272
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 10:02:35 +0000 (10:02 +0000)]
Synchronize with Feral CVS repository:
Fix a comment typo. Force on HARD ADDRESS for the 24XX.
Fix retry on error case- most of the time we *don't* want to retry a command
sent back with TDFL_ERROR set- instead we want to set PARITY ERROR as a
CA condition and just FIN the cmd.
Comment for r270:
1. A major botch for local loop handling - we were never getting past loopid zero
in isp_scan_loop. Bad doggie!
2. *Do* scan our loopid- this seems to allow us to find entities which are there
and have a N-port handle that is identical to ours. I have no idea how the QLogic
sorts this out. At least, this is how it seems to work for the 24XX in local loop
mode.
Don't deadlock with the HBA lock when performing a rescan ioctl. Also,
mark the loop state as if we'd just received a PDB event- that way
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@271
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 09:57:26 +0000 (09:57 +0000)]
Synchronize with Feral CVS repository:
Fix a comment typo. Force on HARD ADDRESS for the 24XX.
Fix retry on error case- most of the time we *don't* want to retry a command
sent back with TDFL_ERROR set- instead we want to set PARITY ERROR as a
CA condition and just FIN the cmd.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@270
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 09:55:49 +0000 (09:55 +0000)]
Synchronize with Feral CVS repository:
- fix comment
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@269
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 09:53:27 +0000 (09:53 +0000)]
Synchronize with Feral CVS repository:
- Add ASYNC_RCV_ERR
- Allow LIP to have a (possible) channel.
- Update for some channel stuff.
- whitespace
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@268
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 09:51:21 +0000 (09:51 +0000)]
Synchronize with Feral CVS repository:
- Clean up 24XX abort handling.
- Remove the response queue busy stuff and just have an in_intr flag to note
interrupt recursion.
- Add a lower level error flag.
- Clarifiy a comment; make a definition for the 'no task' RX_ID.
- Change severity of f/w timeout message
- Do the wait for mbox0 clearing for 2312 cards > revision 1.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@267
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
swgruszka [Tue, 12 Feb 2008 09:43:44 +0000 (09:43 +0000)]
Synchronize with Feral CVS repository:
- Make sure we set/clear TDFL_ERROR
- Make sure we set SENSE VALID when we do a synthetic CTIO that has status.
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@266
d57e44dd-8a1f-0410-8b47-
8ef2f437770f