Commit Graph

1698 Commits

Author SHA1 Message Date
Mark Buechler
7bfbb41963 - When reading deprecated config files, don't configure empty groups.
- Minor formatting fix in writeConfiguration().



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1863 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 16:29:27 +00:00
Mark Buechler
f896acc78c - Forgot to rename sysfs to scstadmin.sysfs.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1862 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 14:59:08 +00:00
Mark Buechler
be6f9f219b - Rename sysfs and procfs to better names.
- Specify module use version for procfs scstadmin.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1861 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 14:51:08 +00:00
Mark Buechler
253c80692e - Integrate scstadmin's Makefile with enable_proc and
disable_proc so the correct scstadmin version is
  installed.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1860 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 14:47:16 +00:00
Richard Sharpe
5737910fb4 Put in a clearer work-around for the problem with the size of the max_cmd_size
field. The size changed at 2.6.26 from unsigned char to unsigned short.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1859 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 09:40:14 +00:00
Bart Van Assche
380d63a33e Updated performance measurements.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1858 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 08:32:50 +00:00
Bart Van Assche
34bab4bc58 Micro-optimized the IB completion handlers for modes thread=0 and thread=2.
Fixed another session unregistration race.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1857 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 07:43:17 +00:00
Bart Van Assche
5c6a0c9e17 Fixed bug in 'svn status -v' output parser.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1856 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 07:23:26 +00:00
Bart Van Assche
a8d02fbfca Enabled rdy_to_xfer_atomic for mode thread=0.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1855 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-22 05:54:55 +00:00
Mark Buechler
627b323dbe - Missed a spot where scst base attributes are getting written
even if they aren't key attributes.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1854 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 20:26:47 +00:00
Mark Buechler
6f8dfe947f - Handle Default and Default_ groups. Default_X groups will not
be configured if the associated target X has not been pre-configured.
- Misc. fixes.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1853 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 17:24:48 +00:00
Richard Sharpe
8668b22ae8 Set max_cmd_len correctly depending on the size of the field. In earlier
versions of Linux it was an unsigned char, and a value of 260 means 4 after a compiler warning. Added a comment to describe what is going on as well. Since 
this is done very infequently it should not cause performance problems and 
means that it will not silently fail to work if people try to use it on kernels
earlier than 2.6.26. If I figure out what kernel version the change was made
in we could use an ifdef.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1852 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 16:08:34 +00:00
Mark Buechler
ffd2803eca - When reading and old configuration file, if no targets
are enabled, add groups/initiators for all known targets.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1851 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 15:28:21 +00:00
Bart Van Assche
3b5d4ea5fa Fixed a copy/paste error.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1850 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 15:21:06 +00:00
Bart Van Assche
b5c0a25514 Module removal and session unregistration with ongoing I/O should now finally work reliably.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1849 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 14:22:34 +00:00
Bart Van Assche
5ded0b7660 Changes:
- Implemented a workaround for a race between ib_destroy_cq() and the IB
  completion handlers. This race could trigger a kernel crash or kernel lockup
  when unloading the ib_srpt module while I/O was ongoing or by performing
  a relogin from an SRP initiator while I/O was ongoing.
- Moved the code for handling IB completions in single-threaded mode to
  separate functions.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1848 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 10:52:36 +00:00
Bart Van Assche
2c663262b1 Fixed a single-letter typo in a source code comment.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1847 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-21 10:49:58 +00:00
Bart Van Assche
0e6414624e Follow-up for r1845.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1846 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-20 19:44:39 +00:00
Bart Van Assche
a9668c9f07 Micro-optimized srpt_handle_rdma_comp().
Assigned names to the three threading modes.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1845 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-20 18:40:29 +00:00
Vladislav Bolkhovitin
891c7d5b03 Fix BUG while enabling target mode remote port disappear:
In case if ELS LOGO command received on the target port,
the firmware can notify the driver about it in 3 different ways,
which handled differently by the driver (it doesn't clear when it use each way):
1. Immediate notify of login-affecting ELS command received (status code 0x46).
   The target driver terminate all commands received for the specified initiator
   (N_Port handle).
2. Asynchroneus event of port update.
   The target driver only print message, and in remark it's written that
   /* .mark_all_devices_lost() is handled by the initiator driver */
3. Immediate notify of port logged out (status code 0x29).
   The target driver terminate all commands received for the specified initiator
   (N_Port handle), and also mark all devices as lost.

In 1 and 2 everthing is OK. In 3 the target driver mark all devices as lost,
but never retrigger rescanning.

There are 2 solutions:
1. Not marking the devices as lost base on written in the async event case, and
   also base on the spec which says to only terminate all commands.
2. Mark all devices as lost and retrigger rescanning.

1 was implemented; delete all calls to mark_all_devices_lost() in qla2x00t.c, and
unexport symbol of this function in qla_os.c

Signed-off-by: Gal Rosen <galr@storwize.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1844 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-20 17:51:19 +00:00
Vladislav Bolkhovitin
9562e5679b More unexisting LUNs handling fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1843 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-19 17:48:14 +00:00
Bart Van Assche
7cca01ae41 Added one more test.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1842 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-18 17:43:44 +00:00
Bart Van Assche
2d3b5d3387 Partially reverted r1416 in order to fix a data corruption issue that occurred
with highly parallel workloads.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1841 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-18 17:39:43 +00:00
Bart Van Assche
5d78905aaf Whitespace-only changes: converted spaces to tabs.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1840 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 20:17:45 +00:00
Bart Van Assche
3b69f969f1 Under heavily multithreaded I/O (twenty or more concurrent writers), data corruption could occur. This issue was introduced in r1506 and has now been fixed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1839 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 19:50:45 +00:00
Bart Van Assche
78cb9e9458 Changed meaning of thread kernel module parameter: while 0 still stands for IRQ context, 1 does now stand for single-threaded processing and 2 for processing SCSI command via multiple kernel threads.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1838 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 19:21:22 +00:00
Vladislav Bolkhovitin
492e33a312 - Move nl_open() after kernel_open() to avoid issues when second start could skrew netlink states for the first instance
- Avoid compiler warn_unused_result warning



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1837 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 16:44:22 +00:00
Vladislav Bolkhovitin
a91af4e5d0 Cleanup inspired by IET r369
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1836 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 16:27:06 +00:00
Vladislav Bolkhovitin
1e7ca7a0b7 Merge of IET r341: New md5/sha1 code in ietd didn't handle the byte swap properly
for the digest counters on big endian systems.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1835 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 16:02:30 +00:00
Vladislav Bolkhovitin
43cfabc3cc Partial merge of IET r358 and 367: a bunch of iSNS fixes.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1834 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 15:57:49 +00:00
Vladislav Bolkhovitin
28dd4e5150 Patch from Bart Van Assche <bvanassche@acm.org> fixing endianness warning reported by sparse.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1833 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-17 13:53:41 +00:00
Vladislav Bolkhovitin
e79a15cc16 Some more minor sysfs fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1832 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-16 20:33:10 +00:00
Vladislav Bolkhovitin
89a8ab94a1 Set the key attribute for filename for vcdrom devices
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1831 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-16 19:18:31 +00:00
Bart Van Assche
427dadcb74 Enabled endianness checks.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1830 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-16 18:53:25 +00:00
Vladislav Bolkhovitin
305a35dae6 Fix possible crash for INQUIRYs on not existing LUNs
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1829 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-16 18:47:12 +00:00
Vladislav Bolkhovitin
2f667fe80f Part of the patch from Bart Van Assche <bvanassche@acm.org> fixing/suppressing iscsi-scst related endianness warnings reported by sparse with some changes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1828 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-15 17:45:41 +00:00
Vladislav Bolkhovitin
8f8ea536e0 - Logging cleanup
- Added debug facility to catch possible data corruption case.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1827 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-15 12:45:31 +00:00
Bart Van Assche
402306e3e0 Relaxed send-queue-full error handling.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1826 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-14 18:37:42 +00:00
Bart Van Assche
7a0a6fb86e Made srpt_srq_size configurable as a kernel module parameter.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1825 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-14 18:28:09 +00:00
Bart Van Assche
fe81f9766c Changed two PRINT_INFO() messages that reported that the send queue was full into PRINT_ERROR() messages, and renamed a few variables.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1824 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-14 17:22:52 +00:00
Vladislav Bolkhovitin
82dca1c438 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1823 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-14 14:16:36 +00:00
Vladislav Bolkhovitin
48d762e5cb Fix handling of host templates with NULL names
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1822 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-14 13:31:39 +00:00
Vladislav Bolkhovitin
571df65257 Fixing broken perf build
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1821 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-14 12:57:39 +00:00
Mark Buechler
bd48c8f119 - Check for non-existent devices and warn/remove them from read config.
- Error out if a target doesn't exist to prevent removing potentially
  good running config.
- Be sure to remove luns and initiators before the group they're in.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1820 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 19:12:44 +00:00
Bart Van Assche
e7c082ac23 Implemented several source code refinements that do not affect functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1819 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 18:36:08 +00:00
Mark Buechler
4e9f58c279 - Fixed driver/target attribute setting as well as dynamic attribute
adding and deleting. I must have been low on meds the first time
  I wrote those.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1818 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 18:27:36 +00:00
Mark Buechler
9e11c29d06 - Fix handling of /dev paths.
- Check for device paths which have a '/' in checkConfiuration().



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1817 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 15:15:11 +00:00
Vladislav Bolkhovitin
6527947abb Fix "‘wrap’ may be used uninitialized" warning
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1816 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 12:24:13 +00:00
Vladislav Bolkhovitin
8437061902 Don't allow to create devices with '/' in names
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1815 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 12:11:52 +00:00
Vladislav Bolkhovitin
e8f6cfd143 Remove wrong "Unexpected block size" messages
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1814 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 11:50:27 +00:00