- SCST_USER_UNREGISTER_DEVICE - to unregister device, flush mem reuse (SGV) cache and send UCMD_STATE_ON_CACHE_FREEING notifications for all freed buffers to the user space handler. Simple device close doesn't allow that, so all the cached buffers might look as "leaked" from the user space handler POV.
- SCST_USER_FLUSH_CACHE - to flush mem reuse (SGV) cache and send UCMD_STATE_ON_CACHE_FREEING notifications for all freed buffers to the user space handler
+ some cosmetics
Docs update is coming
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@665 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Docs about limitation of having initiator and target on the same host updated + cleanups
- Minor local thread storage improvements
- TRACE_MGMT_MINOR excluded from the default set of trace flags to not confuse people
- Dedicated kmem_cache for blockio created
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@662 d57e44dd-8a1f-0410-8b47-8ef2f437770f
as signed integers, while some inline functions in the same header file treat
these as unsigned integers. The patch below converts all uses to signed
integer.
The patch below has been verified by checking the output files generated by
the following command:
scripts/run-regression-tests -k 2.6.24.7 -k 2.6.25.20 -k 2.6.26.8 -k 2.6.27.13 -k 2.6.28.2
Note: I do not expect that this patch changes the behavior of SCST in any way.
This patch is not a bug fix -- all it does is cleaning up an inconsistency.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@659 d57e44dd-8a1f-0410-8b47-8ef2f437770f
document:
- Added RHEL / CentOS to the list of officially supported kernels.
- Mentioned that regenerating the initial RAM disk is an explicit step on many
distro's.
- Replaced shell instructions for generating /etc/scst.conf by a sequence of
scstadmin commands.
- Added note about insserv.
Also it adds small HOWTO how to recompile RHEL/CentOS kernel in README_RHEL.
Also it implements some docs cleanups.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@658 d57e44dd-8a1f-0410-8b47-8ef2f437770f
source tree:
- Support for zero-copy TCP transfer completion.
- An implementation of scsi_execute_async_fifo().
Except for the hunk headers, these patches are identical to similarly named
patches already present in the SCST source tree.
Additionally, implementations of seq_list_start() and seq_list_next() are
provided for those kernel versions that do not define these functions.
The patch below has been tested by verifying that iSCSI data transfer still
works OK on CentOS 5.2 (x86_64).
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@657 d57e44dd-8a1f-0410-8b47-8ef2f437770f
I submitted about three months ago: the patch headers now refer to the 2.6.27
kernel as they should instead of the 2.6.26 kernel. At least one user has been
confused by this. The patch below does not change any behavior of SCST.
The patch has been tested by verifying that the output of the following
command remained the same as before the modifications:
scripts/run-regression-tests -k 2.6.27
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@656 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- 2.6.25 introduced netlink_socket_release(), to be used to clean up netlink sockets correctly (taking care of namespaces).
- New more scalable proc seq_file implementation
+ minor signess cleanups
+ version updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@654 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Allow removal of kernel target objects if the user space object does not exist
Based on a patch by Lars Ellenberg.
Signed-off-by: Arne Redlich <agr@powerkom-dd.de>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@653 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Introduce min*/max*() and more list_* macros
- Multipart PDU support for discovery sessions
The conn's response buffer is now replaced with a list of buffers and
all users are updated accordingly. Discovery sessions can make use of
this mechanism, if the list of targets + addresses does not fit into a
single text PDU, the initiator may now retrieve subsequent parts.
This also fixes the data segment handling for discovery sessions.
Based on a patch originally provided by Shreyansh Jain <shrey.linux@gmail.com>
Signed-off-by: Arne Redlich <agr@powerkom-dd.de>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@650 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Update MaxConnections documentation
- Remove isns config description from man page
- Check return values of chdir(), ftruncate() and write(), because recent versions of the glibc insist on the return value being checked by
introducing __attribute__((warn_unused_result)) to these functions.
- Fix snprintf use in isns.c
- Take \0-termination into account when passing strings to isns_tlv_set() to solve incompatibility with MS iSNS 3.0 as IQN length is multiple of 4
- Fix list corruption if SCST target registration fails
- Register the target port actually used instead of the default iSCSI port.
- Remove unused connection->pad
- Refactor cmnd_execute()
- Version changed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@649 d57e44dd-8a1f-0410-8b47-8ef2f437770f
From: Shreyansh Jain <shrey.linux at gmail.com>
Subject: [Patch 1/1] Segfault in ietd buffer overrun in dump_line
Fix a buffer overrun problem in __dump_line function in log.c file.
It also removes a stray 'return' call in log_pdu function which was
restricting a PDU dump call to complete log_pdu operation.
Also, in log_pdu function, the first check for log_level against
passed parameter for log was incorrect and would have forced a return
even when the caller has set the logging level to acceptable level.
Signed-off-by: Shreyansh Jain <shrey.linux at gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@647 d57e44dd-8a1f-0410-8b47-8ef2f437770f
immediately after the lock is released and we should catch it.
- Text in README about barriers usage updated
- Minor cleanup with aim to have more robust code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@642 d57e44dd-8a1f-0410-8b47-8ef2f437770f
the most recent versions (checkpatch 2.6.28 / latest sparse git version) and
that were not reported by previous versions (checkpatch 2.6.27 / sparse 0.4.1).
The patch below fixes the following issues:
* Removed trailing space in iscsi-scst/README_in-tree.
* Fixed sparse complaints about functions that were not declared static.
* Fixed sparse complaints about casts between address spaces: such casts are
now either fixed or explicit (via the __force keyword).
The patch below has been verified by checking the output produced by:
scripts/run-regression-tests -k 2.6.28.1
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@641 d57e44dd-8a1f-0410-8b47-8ef2f437770f
performs a.o. 64-bit division. While gcc supports 64-bit divisions on 32-bit
CPU's, gcc generates a function call for these 64-bit divisions (see also
http://gcc.gnu.org/onlinedocs/gccint/Integer-library-routines.html for the
entire list). Unfortunately there is no implementation available for these
functions in the Linux kernel. Which means that loading kernel modules
that contain 64-bit divisions on a 32-bit system will fail and that insmod/
modprobe will complain about undefined references to e.g. __umoddi3. AFAIK the
proper approach in the Linux kernel is to use the do_div() macro for
performing 64-bit divisions. This macro is defined in <asm/div64.h>. The patch
below converts the call to div_s64_rem() by a call to do_div().
The patch below has been verified as follows:
- Reran scripts/run-regression-tests -k 2.6.24.7 -k 2.6.25.20 -k 2.6.26.8 -k 2.6.27.12 -k 2.6.28.1
on a 64-bit system and verified that the output of the re*/sparse* files did
not contain any compilation errors.
- Verified that the patched SCST source compiles fine on CentOS 5.2, 32-bit.
- Verified that the scst_vdisk module loads correctly on CentOS 5.2, 32-bit.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@640 d57e44dd-8a1f-0410-8b47-8ef2f437770f
It, hopefully, fixes compilation problems on CentOS 5.2 as well as on vanilla kernels <2.6.28
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@638 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Added support for evaluating #ifdef and #ifndef.
- Added support for substituting the macro's RHEL_MAJOR, RHEL_MINOR and RHEL_RELEASE_CODE.
- Added more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@637 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- In scst_local new experimental compile-time option to force direct processing added
- Attempt in SCST structures to separate read-mostly from read-write data to decrease cache ping-pong between CPUs
- In scst_vdisk new module parameter num_threads added to specify a number of threads for each vdisk/vcdrom. Default is 5.
- Debug logging for failed digests in iSCSI-SCST improved
- Docs updates/cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@635 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- SCST.pm: Cosmetic changes to error messages - include the handler name.
- SCST.pm: Quote handlers, handler IOs, devices, users and groups in error messages.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@623 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Changed a few returns to 1 instead of $TRUE since really they're
int returns and not boolean.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@618 d57e44dd-8a1f-0410-8b47-8ef2f437770f