Commit Graph

  • dc80bce266 Fixed a race between initiator and target in the algorithm for computing the REQUEST LIMIT DELTA value sent in responses towards the initiator that could cause the initiators req_lim value temporarily to exceed 128 (SRPT_RQ_SIZE). While harmless, this caused messages like "ib_srpt: ***ERROR***: req_lim = -1 < 0" to appear in the target kernel log. Bart Van Assche 2010-07-24 08:35:28 +00:00
  • a9d5ab6737 Added --group_reporting. Bart Van Assche 2010-07-23 13:41:59 +00:00
  • 06b4f6d8aa Increased SRP initiator lockup safety margin, fixed a sparse warning and added more comments. Bart Van Assche 2010-07-23 13:41:55 +00:00
  • 7322ff6c24 Added an additional test. Bart Van Assche 2010-07-23 12:25:54 +00:00
  • c7472c2aa6 Made sure that ib_srp initiator cannot lock up even when its I/O depth > 1. Bart Van Assche 2010-07-23 12:23:39 +00:00
  • baa4b4ee29 Fixed a bug that caused trouble while handling send completions for failed data transfer commands. An example of the call stack that could be logged: Bart Van Assche 2010-07-23 07:38:15 +00:00
  • 5da3fc1f1b Rewrote four #if statements such that these can be parsed by scripts/generate-kernel-patch. Bart Van Assche 2010-07-23 07:24:27 +00:00
  • 04556369b4 - Fix 2 lockdep complains - Preliminary update for 2.6.35 Vladislav Bolkhovitin 2010-07-22 17:38:51 +00:00
  • 7bfbb41963 - When reading deprecated config files, don't configure empty groups. - Minor formatting fix in writeConfiguration(). Mark Buechler 2010-07-22 16:29:27 +00:00
  • f896acc78c - Forgot to rename sysfs to scstadmin.sysfs. Mark Buechler 2010-07-22 14:59:08 +00:00
  • be6f9f219b - Rename sysfs and procfs to better names. - Specify module use version for procfs scstadmin. Mark Buechler 2010-07-22 14:51:08 +00:00
  • 253c80692e - Integrate scstadmin's Makefile with enable_proc and disable_proc so the correct scstadmin version is installed. Mark Buechler 2010-07-22 14:47:16 +00:00
  • 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. Richard Sharpe 2010-07-22 09:40:14 +00:00
  • 380d63a33e Updated performance measurements. Bart Van Assche 2010-07-22 08:32:50 +00:00
  • 34bab4bc58 Micro-optimized the IB completion handlers for modes thread=0 and thread=2. Fixed another session unregistration race. Bart Van Assche 2010-07-22 07:43:17 +00:00
  • 5c6a0c9e17 Fixed bug in 'svn status -v' output parser. Bart Van Assche 2010-07-22 07:23:26 +00:00
  • a8d02fbfca Enabled rdy_to_xfer_atomic for mode thread=0. Bart Van Assche 2010-07-22 05:54:55 +00:00
  • 627b323dbe - Missed a spot where scst base attributes are getting written even if they aren't key attributes. Mark Buechler 2010-07-21 20:26:47 +00:00
  • 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. Mark Buechler 2010-07-21 17:24:48 +00:00
  • 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. Richard Sharpe 2010-07-21 16:08:34 +00:00
  • ffd2803eca - When reading and old configuration file, if no targets are enabled, add groups/initiators for all known targets. Mark Buechler 2010-07-21 15:28:21 +00:00
  • 3b5d4ea5fa Fixed a copy/paste error. Bart Van Assche 2010-07-21 15:21:06 +00:00
  • b5c0a25514 Module removal and session unregistration with ongoing I/O should now finally work reliably. Bart Van Assche 2010-07-21 14:22:34 +00:00
  • 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. Bart Van Assche 2010-07-21 10:52:36 +00:00
  • 2c663262b1 Fixed a single-letter typo in a source code comment. Bart Van Assche 2010-07-21 10:49:58 +00:00
  • 0e6414624e Follow-up for r1845. Bart Van Assche 2010-07-20 19:44:39 +00:00
  • a9668c9f07 Micro-optimized srpt_handle_rdma_comp(). Assigned names to the three threading modes. Bart Van Assche 2010-07-20 18:40:29 +00:00
  • 891c7d5b03 Fix BUG while enabling target mode remote port disappear: Vladislav Bolkhovitin 2010-07-20 17:51:19 +00:00
  • 9562e5679b More unexisting LUNs handling fixes Vladislav Bolkhovitin 2010-07-19 17:48:14 +00:00
  • 7cca01ae41 Added one more test. Bart Van Assche 2010-07-18 17:43:44 +00:00
  • 2d3b5d3387 Partially reverted r1416 in order to fix a data corruption issue that occurred with highly parallel workloads. Bart Van Assche 2010-07-18 17:39:43 +00:00
  • 5d78905aaf Whitespace-only changes: converted spaces to tabs. Bart Van Assche 2010-07-17 20:17:45 +00:00
  • 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. Bart Van Assche 2010-07-17 19:50:45 +00:00
  • 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. Bart Van Assche 2010-07-17 19:21:22 +00:00
  • 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 Vladislav Bolkhovitin 2010-07-17 16:44:22 +00:00
  • a91af4e5d0 Cleanup inspired by IET r369 Vladislav Bolkhovitin 2010-07-17 16:27:06 +00:00
  • 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. Vladislav Bolkhovitin 2010-07-17 16:02:30 +00:00
  • 43cfabc3cc Partial merge of IET r358 and 367: a bunch of iSNS fixes. Vladislav Bolkhovitin 2010-07-17 15:57:49 +00:00
  • 28dd4e5150 Patch from Bart Van Assche <bvanassche@acm.org> fixing endianness warning reported by sparse. Vladislav Bolkhovitin 2010-07-17 13:53:41 +00:00
  • e79a15cc16 Some more minor sysfs fixes Vladislav Bolkhovitin 2010-07-16 20:33:10 +00:00
  • 89a8ab94a1 Set the key attribute for filename for vcdrom devices Vladislav Bolkhovitin 2010-07-16 19:18:31 +00:00
  • 427dadcb74 Enabled endianness checks. Bart Van Assche 2010-07-16 18:53:25 +00:00
  • 305a35dae6 Fix possible crash for INQUIRYs on not existing LUNs Vladislav Bolkhovitin 2010-07-16 18:47:12 +00:00
  • 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 Vladislav Bolkhovitin 2010-07-15 17:45:41 +00:00
  • 8f8ea536e0 - Logging cleanup - Added debug facility to catch possible data corruption case. Vladislav Bolkhovitin 2010-07-15 12:45:31 +00:00
  • 402306e3e0 Relaxed send-queue-full error handling. Bart Van Assche 2010-07-14 18:37:42 +00:00
  • 7a0a6fb86e Made srpt_srq_size configurable as a kernel module parameter. Bart Van Assche 2010-07-14 18:28:09 +00:00
  • fe81f9766c Changed two PRINT_INFO() messages that reported that the send queue was full into PRINT_ERROR() messages, and renamed a few variables. Bart Van Assche 2010-07-14 17:22:52 +00:00
  • 82dca1c438 Web updates Vladislav Bolkhovitin 2010-07-14 14:16:36 +00:00
  • 48d762e5cb Fix handling of host templates with NULL names Vladislav Bolkhovitin 2010-07-14 13:31:39 +00:00
  • 571df65257 Fixing broken perf build Vladislav Bolkhovitin 2010-07-14 12:57:39 +00:00
  • 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. Mark Buechler 2010-07-13 19:12:44 +00:00
  • e7c082ac23 Implemented several source code refinements that do not affect functionality. Bart Van Assche 2010-07-13 18:36:08 +00:00
  • 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. Mark Buechler 2010-07-13 18:27:36 +00:00
  • 9e11c29d06 - Fix handling of /dev paths. - Check for device paths which have a '/' in checkConfiuration(). Mark Buechler 2010-07-13 15:15:11 +00:00
  • 6527947abb Fix "‘wrap’ may be used uninitialized" warning Vladislav Bolkhovitin 2010-07-13 12:24:13 +00:00
  • 8437061902 Don't allow to create devices with '/' in names Vladislav Bolkhovitin 2010-07-13 12:11:52 +00:00
  • e8f6cfd143 Remove wrong "Unexpected block size" messages Vladislav Bolkhovitin 2010-07-13 11:50:27 +00:00
  • d3847b031e Make SG IO count limitation messages less annoying Vladislav Bolkhovitin 2010-07-13 11:48:49 +00:00
  • 47a5c6072c Fixed a bug in the command abortion code. E.g. the following kernel message could be generated when unloading ib_srpt while I/O was ongoing: Bart Van Assche 2010-07-10 18:27:59 +00:00
  • 008841b622 Minor optimization: merged a srpt_get_cmd_state() and srpt_set_cmd_state() call. Bart Van Assche 2010-07-10 07:17:30 +00:00
  • 75411305f1 Partial commit of patch from Bart Van Assche <bvanassche@acm.org> which suppresses the sparse warnings triggered by scst_pres.c. Vladislav Bolkhovitin 2010-07-09 19:48:55 +00:00
  • 3c411a5ba7 Fix for bug reported by Mark Buechler <mark.buechler@gmail.com> when wrong wildcard attribute can be deleted Vladislav Bolkhovitin 2010-07-09 19:05:55 +00:00
  • 66ccc6d619 Reverted r1806 and fixed a race condition that could cause data corruption. Bart Van Assche 2010-07-09 18:12:24 +00:00
  • 45bbbbba5f Improved I/O stress test. Bart Van Assche 2010-07-09 18:04:23 +00:00
  • cdd65273e9 Applied a temporary fix for data corruption that could occur when multiple initiators were accessing data on a multicore target system. Bart Van Assche 2010-07-08 18:29:52 +00:00
  • 10339ef259 - Fixed empty CREATE_ATTRIBUTES. - Added version requirement to SCST::SCST. - Added support for deleting of dynamic attributes. - Fixed support for changing non-dynamic attributes. - Fixed (sorta) vcdrom handler. Mark Buechler 2010-07-07 18:12:40 +00:00
  • 8297ce5c41 Updated kernel versions. Bart Van Assche 2010-07-06 10:41:33 +00:00
  • cf6fb97164 Made sure that the source file scst_pres.c is compiled too. Bart Van Assche 2010-07-05 16:17:36 +00:00
  • 2e07133917 Converted a WARN_ON() statement into PRINT_INFO(). Bart Van Assche 2010-07-04 20:11:47 +00:00
  • 936f080310 Fixed a race condition that could cause SRP commands to be processed out of order on a multicore system. Also, split send and receive completion queues such that the amount of code that is executed under spinlock and with IRQs disabled is minimal. Bart Van Assche 2010-07-04 19:44:33 +00:00
  • 4438a65592 Fixed grammar in a source code comment. Bart Van Assche 2010-06-30 18:54:29 +00:00
  • f63533f5c6 The patch below fixes / suppresses all SCST core related endianness warnings reported by sparse. Vladislav Bolkhovitin 2010-06-29 11:56:46 +00:00
  • 07b012ca56 [PATCH] Session reference count logic error in Qlogic target Vladislav Bolkhovitin 2010-06-29 10:33:41 +00:00
  • 3375930bad Cleanup. Bart Van Assche 2010-06-28 19:03:40 +00:00
  • 58e0bbd491 Whitespace-only changes for checkpatch. Bart Van Assche 2010-06-28 18:35:38 +00:00
  • 2e0703275d SRPT with thread=0 works again (was broken by r1714, the merge of the persistent reservation branch to the trunk). Added more consistency checks. Bart Van Assche 2010-06-28 18:23:28 +00:00
  • fdbb5fcc7f Minor cleanups Vladislav Bolkhovitin 2010-06-28 18:07:11 +00:00
  • 13dea2fd6a - Fix possible buffer overflow in the iSNS code. - Cleanups. Vladislav Bolkhovitin 2010-06-28 18:03:10 +00:00
  • c7369b432b Micro-optimized srpt_completion(). Bart Van Assche 2010-06-26 10:42:06 +00:00
  • 54c98834cd BE changes to keep sparse happy pointed out by Bart Van Assche <bvanassche@acm.org> Vladislav Bolkhovitin 2010-06-25 18:14:13 +00:00
  • e61d66a0c0 Whitespace-only changes to fix recently introduced checkpatch complaints. Bart Van Assche 2010-06-25 18:00:39 +00:00
  • bb21149a73 Fix possible crash if AEN is sent to a being shutdown session, because after unreg_done_fn() called the target driver's part of the session should be already freed. Vladislav Bolkhovitin 2010-06-25 17:25:18 +00:00
  • 8d4d13fdb1 Fix cdb_len handling to avoid crashes on attempts to copy negative cdb_len bytes + minor scst_user residual fix Vladislav Bolkhovitin 2010-06-25 17:05:36 +00:00
  • a15199e2ed The patch below fixes / suppresses all iscsi-scst related endianness warnings reported by sparse (make C=2 CF=-D__CHECK_ENDIAN__ iscsi). Vladislav Bolkhovitin 2010-06-25 11:47:28 +00:00
  • 07818cf573 Docs update Vladislav Bolkhovitin 2010-06-25 10:24:24 +00:00
  • 0d21ef4e23 Fix for wrong endianness in scst_cmd_set_tgt_sn() call. Reported by Phil White <phil@scalecomputing.com> Vladislav Bolkhovitin 2010-06-25 10:23:20 +00:00
  • 9f5938cccc It's better to perform target redirection only for allowed initiators. Vladislav Bolkhovitin 2010-06-24 18:58:25 +00:00
  • af5e8e3f79 Web updates Vladislav Bolkhovitin 2010-06-24 18:44:54 +00:00
  • 82141783f8 Patch from Ido Benda <Ido.Benda@kaminario.com> fixing a small bug in PR read keys which causes the last key to be omitted. Vladislav Bolkhovitin 2010-06-24 18:21:54 +00:00
  • eb16bf9163 Implement qlini_mode qla2xxx module parameter with ini_mode_force_reverse sysfs attribute instead of CONFIG_SCSI_QLA2XXX_TARGET_DISABLE_INI_MODE compile-time option for better flexibility. Vladislav Bolkhovitin 2010-06-24 18:03:27 +00:00
  • 78edc5afb9 Various cleanups and fixes after some errors injection tests. Particularly: Vladislav Bolkhovitin 2010-06-23 13:57:35 +00:00
  • e730fac09d Fixed sparse warnings. Bart Van Assche 2010-06-18 19:29:19 +00:00
  • 0efa1826b0 Fixed a compiler warning. Bart Van Assche 2010-06-17 17:44:29 +00:00
  • d3a2a54d48 Made sure endianness of ch->max_ti_iu_len is correct. The previous implementation could result in e.g. the following message in /var/log/messages: Bart Van Assche 2010-06-17 16:33:37 +00:00
  • b151a59182 - Handle removing virtual targets on -clear_config. Mark Buechler 2010-06-15 19:22:31 +00:00
  • ef331b97d5 - More work on dynamic attributes. Both hardware and virtual targets/drivers should be working at this point. Mark Buechler 2010-06-15 19:06:38 +00:00
  • 2cab37c2c2 - Better handling on 'enabled' attribute. Mark Buechler 2010-06-15 17:12:16 +00:00
  • 2da1657b43 - Fix for calls to driverIsVirtualCapable(). Mark Buechler 2010-06-15 16:48:56 +00:00
  • 3016232224 - Small fix to driverIsVirtualCapable(). Mark Buechler 2010-06-15 16:46:17 +00:00