Commit Graph

3137 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
b9ef044444 Parse errors processing cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4215 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-18 01:46:05 +00:00
Vladislav Bolkhovitin
2c23bf200d scst_set_io_context(): Save old I/O context
Fix somehow missed saving old IO context

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4214 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-18 01:29:14 +00:00
Vladislav Bolkhovitin
f742ae018e scst_vdisk: Add zero-copy file I/O readsupport
Speeds up reading from a RAM disk via ib_srpt by about 30%.
Tested with iSCSI-SCST, ib_srpt and scst_local.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>

In it:

- Fixed NULLIO, which the original patch breaks

- Changed on all fast paths sBUG_ON() on EXTRACHECKS_BUG_ON()

- Fixed errors path in non_fileio_exec() and fileio_alloc_data_buf().

- Renamed zero_copy_read to just zero_copy.

- Docs and change log updated

- Some cleanups




git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4213 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-18 01:19:28 +00:00
Bart Van Assche
2d71d64481 ib_srpt: Remove a superfluous test
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4212 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-14 13:04:11 +00:00
Bart Van Assche
1c4b023f83 ib_srpt: Only enable the recently added gcc workaround for gcc 4.6 and earlier
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4211 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-14 12:56:36 +00:00
Vladislav Bolkhovitin
f9caacd8eb "My own Storage Linux OS" added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4210 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-13 20:47:14 +00:00
Vladislav Bolkhovitin
c5b4450728 qla2x00t-howto clarifications
Clarify the qla2x00t how-to where necessary:
 - Add instructions to unload the upstream qla2xxx kernel module
   before starting to build the SCST qla2xxx kernel modules.
 - Change the name qla2xxx into qla2xxx_scst in the step for
   loading kernel modules.
 - Replace the instructions for removing the distro-provided qla2xxx kernel
   module by instructions for blacklisting that module and rebuilding the
   initial RAM disk.
 - Prepend all commands that have to be executed by the user by a prompt.
 - Add instructions for RHEL / SUSE next to Debian.
 - Shortened Debian kernel development package list.

Markup changes:
 - Use a CSS style attribute to specify the distance between steps instead of
   using <br><br><br>.
 - Add a missing </li> tag.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>




git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4209 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-13 20:36:49 +00:00
Vladislav Bolkhovitin
0dd7573989 Fix for missed mempool_destroy() in case when CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION not defined noticed by Bart Van Assche <bvanassche@acm.org>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4208 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-13 20:28:50 +00:00
Bart Van Assche
52cc71c5ef scripts/rebuild-rhel-kernel-rpm: Make this script work when started with a relative path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4206 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-12 12:20:31 +00:00
Bart Van Assche
f022a827ba ib_srpt: Close active sessions when disabling a target
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4202 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-10 15:02:13 +00:00
Bart Van Assche
e4bc6f2b2b ib_srpt: Workaround for an openSUSE 12.1 compiler bug (see also http://bugzilla.novell.com/show_bug.cgi?id=756235)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4201 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-10 14:59:26 +00:00
Bart Van Assche
b675a6b02c ib_srpt: Make sure that pre-RTU requests are processed before post-RTU requests
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4200 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-10 14:58:31 +00:00
Vladislav Bolkhovitin
83dbc69d4e scst: Fix debug_print_with_prefix()
Terminate lines passed to debug_print_with_prefix() with a newline. Make
sure that a formatting specification in an argument past "fmt" is printed
literally instead of being interpreted as a format specification.

The newlines are only missing when sending kernel logging to a remote
system via netconsole and not when using local logging

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4199 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-10 02:26:25 +00:00
Bart Van Assche
1285dd1dad ib_srpt: Update ChangeLog
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4197 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-07 09:13:50 +00:00
Bart Van Assche
420f85c39b fcst: Handle exchange timeout gracefully
This is a backport of commit e1c4038282c7586c3544542b37872c434669d3ac by
Mark Rustad <mark.d.rustad@intel.com>. This patch avoids that unregistering
a session hangs after an exchange timeout occurred.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4194 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-07 07:30:52 +00:00
Bart Van Assche
3c2957284c ib_srpt: Avoid that sessions are not unregistered properly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4193 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-06 08:11:47 +00:00
Bart Van Assche
4c36a0632a ib_srpt: Fix a race triggered by the code for handling IB CM RTU notifications
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4192 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-06 08:00:14 +00:00
Vladislav Bolkhovitin
f4699ee2d0 Link to Enterprise Storage OS added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4191 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-05 02:21:49 +00:00
Vladislav Bolkhovitin
a0e7676e9c Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4190 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-05 02:13:36 +00:00
Vladislav Bolkhovitin
8a52742410 scst: make scst_cmd_threads_list more fine grained
Avoid that suspending activity causes scst_init_threads() to delay.
That delay has been observed to cause "task blocked for more than ...
seconds" complaints.

Reported-by: yangfanlinux <yangfanlinux@gmail.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4189 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-05 02:05:51 +00:00
Vladislav Bolkhovitin
1ecdf9770f Add __printf annotation to debug_print_with_prefix()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4188 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-04 23:34:54 +00:00
Bart Van Assche
06a0643d73 nightly build: Skip fcst for kernel versions 2.6.37 and 2.6.38
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4187 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-04 12:53:44 +00:00
Bart Van Assche
9e996918c2 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4186 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-03 17:40:07 +00:00
Bart Van Assche
f54a1e1c01 nightly build: Remove a kernel patch again
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4185 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-03 17:38:47 +00:00
Bart Van Assche
6a6fe9af43 nightly build: Build fcst against recent kernels too / fix a sparse warning
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4184 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-03 17:00:08 +00:00
Bart Van Assche
3e65060c5a fcst: Revert r4182 because it was wrong
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4183 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-03 16:58:59 +00:00
Bart Van Assche
f9d31e1f2f fcst: Port to kernel 3.3.x
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4182 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-03 10:39:07 +00:00
Bart Van Assche
b72ffcf4e3 scstadmin, scst.conf man page: Add example for fcst
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4181 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-03 06:58:03 +00:00
Bart Van Assche
f0d32375ed fcst: Eliminate ft_cmd.xfer_rdy_len
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4180 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-02 16:56:22 +00:00
Bart Van Assche
8d6b924765 fcst: Port to kernel 3.4.0
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4179 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-02 16:54:42 +00:00
Bart Van Assche
215b9be74d fcst: Handle command timeouts properly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4178 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-02 16:53:22 +00:00
Vladislav Bolkhovitin
88881a1459 iSCSI resource agents written by Riccardo Bicelli <r.bicelli@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4177 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-30 20:59:48 +00:00
Vladislav Bolkhovitin
7525815852 Note from Alexander Lyakas <alex.bolshoy@gmail.com> about errors caching by FILEIO handler
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4176 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-29 02:21:37 +00:00
Vladislav Bolkhovitin
8c7ead1b49 scst: Add a clarification about how conflicting commands are processed
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4175 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:59:13 +00:00
Vladislav Bolkhovitin
159448f746 Use page_count() since that is recommended over using atomic_read() directly.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4174 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:50:30 +00:00
Vladislav Bolkhovitin
8517d9da8a scst: Introduce scst_find_free_slot()
This patch fixes some occurrences of the following 3.3 checkpatch warning:
WARNING: Too many leading tabs - consider code refactoring

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4173 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:49:10 +00:00
Vladislav Bolkhovitin
49c56244a1 Fix 3.3 checkpatch warnings about min()and max()
Fix three occurrences of the following warnings reported by the checkpatch
script included with Linux kernel version 3.3:
WARNING: min() should probably be min_t()
WARNING: max() should probably be max_t()

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4172 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:46:51 +00:00
Vladislav Bolkhovitin
5a6928fc2b scst.h: Clarify a comment
Make it more clear that scst_mgmt_cmd.tag refers to the tag of the
command to abort and not to the tag of the ABORT TASK command itself.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4171 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:44:59 +00:00
Vladislav Bolkhovitin
62cc777905 scst: Don't specify a LUN when issuingSCST_UNREG_SESS_TM
The LUN argument is ignored while processing SCST_UNREG_SESS_TM, so don't
pass LUN information when issuing that task management function.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4170 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:43:28 +00:00
Vladislav Bolkhovitin
90670b1c83 scst_rx_mgmt_fn_lun(): Change 3rd arg from u8 * into void *
This change allows to remove several casts and hence improves
source code readability.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4169 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:40:45 +00:00
Bart Van Assche
e275e68d49 nightly build: Add kernel version 3.3 and update other kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4168 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-24 07:41:39 +00:00
Bart Van Assche
968d3b17fe nightly build: Add 3.3 support patches
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4167 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-24 07:12:56 +00:00
Vladislav Bolkhovitin
8fe9f04789 Debug logging improvements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4166 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-24 03:09:49 +00:00
Vladislav Bolkhovitin
d5ffb2234b Cleanup mgmt parameters initialization.
It's better to do it via a single function.

Patch from Alexey Obitotskiy <alexeyo1@open-e.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4165 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-23 22:03:22 +00:00
Vladislav Bolkhovitin
937b2d550d Update for kernel 3.3
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4164 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-23 21:48:11 +00:00
Bart Van Assche
81fff819d6 scstadmin: Make /etc/init.d/scst status work on RHEL 6.2. Apparently RHEL 6.2 doesn't define the function rc_status in /lib/lsb/init-functions.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4163 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-18 12:05:45 +00:00
Bart Van Assche
8dc9d5c439 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4162 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-16 19:54:24 +00:00
Vladislav Bolkhovitin
7a87bf25a6 Cleanup + implement conditional logging
This patch:
* fixes signatures for log_debug and log_pdu macros
* collapses __log_<LEVEL> functions into one
* adds conditional logging

Here conditional logging means that the logging priority and logging level may
vary depending on some dynamic parameters. This is helpful when software is
able to recover from errors which occur periodically and hence, there is no
need to pollute system logs with tons of repetitive non-critical lines.

The following macros are added to support this feature:
* log_info_cond
* log_warning_cond
* log_error_cond

They take an additional first parameter called "level". If it is 0 then they
act as their non-cond counterparts, otherwise they act like log_debug with the
specified level.

Those who are not interested in conditional logging are not affected: they can
continue using plain old logging macros without any changes.

Signed-off-by: Sergey Myasnikov <tigra564@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4161 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-12 22:31:13 +00:00
Vladislav Bolkhovitin
5c2cde6757 Cleanup: move misc routines in misc.c
This patch moves the following utility functions from iscsi_scstd.c to misc.c
and makes them public (i.e. non-static):
* set_non_blocking
* sock_set_keepalive

Signed-off-by: Sergey Myasnikov <tigra564@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4160 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-12 21:52:35 +00:00
Bart Van Assche
39b6c43d45 scst: Fix value of FMTDATA bitmask
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4159 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-08 08:24:12 +00:00