- 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
- Left out iscsi_scst_itf_ver.h since it is a generated file.
- README.qla2x00t has been put in a separate patch, qla2x00t-doc.diff.
- scst_proc.diff has been scst_core.diff.
- scst_vdisk.diff has been split from scst_dev_handlers.diff.
- scst_dev_handlers.diff has been renamed into scst_passthrough.diff.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@611 d57e44dd-8a1f-0410-8b47-8ef2f437770f