- 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
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
- 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
Apparently not all messages reported by this version are correct. So I switched
back to the last released sparse version (0.4.1). The patch below fixes all
errors and warnings reported by sparse 0.4.1 on the SCST source code.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@596 d57e44dd-8a1f-0410-8b47-8ef2f437770f
kernel pointer is expected and vice versa. Additionally, there are a few fixes
for checkpatch warnings on trailing whitespace and lines that were over 80
columns.
This patch has been verified by reviewing it carefully and by verifying the
output files of the command scripts/run-regression-tests -k 2.6.27.6.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@579 d57e44dd-8a1f-0410-8b47-8ef2f437770f
the iscsi-scst source code.
This patch has been verified by reviewing it carefully and by verifying the
output files of the command scripts/run-regression-tests -k 2.6.27.6.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@571 d57e44dd-8a1f-0410-8b47-8ef2f437770f
code, mainly about lines that exceeded 80 columns. As you can see in the patch
below most lines that were too long have been split, but some code has also
been moved into helper functions in order to keep the code readable. No
functionality has been changed.
This patch has been verified as follows:
- Reread the patch carefully.
- Verified that the iSCSI target kernel module still loads.
- Verified the output generated by scripts/run-regression-tests -k 2.6.27.5.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
with some modifications
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@569 d57e44dd-8a1f-0410-8b47-8ef2f437770f
1. scst_local can work with scst_user's devices
2. scst_user now compatible with iscsi-scst if put_page_callback not applied
+ some cosmetics
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@567 d57e44dd-8a1f-0410-8b47-8ef2f437770f
WARNING! This commit changes external SCST interface, so it can break compilation of your out of SCST SVN tree target driver or dev handler. To fix it, simply supply the preferred exection context to scst_cmd_done() and/or scst_tgt_cmd_done().
Thanks to Bart Van Assche <bart.vanassche@gmail.com> for pointing on it.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@556 d57e44dd-8a1f-0410-8b47-8ef2f437770f
set to m or y. The patch below fixes this.
This patch has been verified by rerunning scripts/run-regression-tests -k 2.6.27.3
and by verifying that the kernel build produced a iscsi-scst.ko kernel module.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@548 d57e44dd-8a1f-0410-8b47-8ef2f437770f
upcoming checkpatch version will complain about these:
* Make sure that a single tab is used for indenting instead of four spaces.
* Removed spaces from around the colon used for specifying field widths.
* Remove trailing whitespace in .txt files.
This patch has been tested by verifying that:
- the output of svn diff -x -w is empty, i.e. that the patch only affects
whitespace.
- the SCST out-of-tree source code still compiles fine against the 2.6.25 kernel
(make -s clean && make -C srpt -s clean && make -s scst iscsi-scst && make -C srpt -s).
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@525 d57e44dd-8a1f-0410-8b47-8ef2f437770f
WARNING: %Ld/%Lu are not-standard C, use %lld/%llu
This patch has been tested by verifying that the SCST sources still compile
fine (make -s clean && make -C srpt -s clean && make -s scst iscsi-scst && make -C srpt -s).
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@514 d57e44dd-8a1f-0410-8b47-8ef2f437770f
* ERROR: return is not a function, parentheses are not required
* ERROR: that open brace { should be on the previous line
This patch has been tested by verifying that the newly generated patch still
applies without warnings to the 2.6.25.17 kernel and that the patched kernel
still compiles.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@512 d57e44dd-8a1f-0410-8b47-8ef2f437770f
WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
#290: FILE: net/core/utils.c:316:
+EXPORT_SYMBOL(net_get_page_callback);
WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
#291: FILE: net/core/utils.c:317:
+EXPORT_SYMBOL(net_put_page_callback);
This patch has been tested by verifying that the generated patch still applies
without warnings to the 2.6.25.17 kernel and that the patched kernel still
compiles.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@510 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Zero-copy feature, introduced by put_page_callback patch, made kernel compile time configurable via CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION option. If you upgrade from earlier versions, see the corresponding "[CAUTION]" e-mail in scst-devel mailing list about possible compatibility problems.
- SRP target temporary removed from "all" and "install" the main Makefile targets, since it isn't compiled on 2.6.26
- Minor fixes and cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@475 d57e44dd-8a1f-0410-8b47-8ef2f437770f
warning: incorrect type in argument 2 (different address spaces)
expected void const [noderef] <asn:1>*from
got void *<noident>
One more optional fix (that i didn't do) is instead of casting
arg in the ioctl() function before every call to function
is to do the casting only once to a temporary variable and
send this variable to every function.
Signed-off-by: Dotan Barak <dotanba@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@461 d57e44dd-8a1f-0410-8b47-8ef2f437770f
an external module. When applying the SCST kernel patch to the mainstream
kernel tree with debugging and/or tracing enabled however, the resulting code
triggers a compiler error. This is because the symbols DEBUG and TRACING
conflict with symbols with the same named defined in unrelated kernel headers.
The patch below resolves these conflicts by renaming the following preprocessor
symbols:
- DEBUG into CONFIG_SCST_DEBUG.
- DEBUG_DIGEST_FAILURES into CONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES.
- DEBUG_OOM into CONFIG_SCST_DEBUG_OOM.
- DEBUG_RETRY into CONFIG_SCST_DEBUG_RETRY.
- DEBUG_SN into CONFIG_SCST_DEBUG_SN.
- DEBUG_TM into CONFIG_SCST_DEBUG_TM.
- EXTRACHECKS into CONFIG_SCST_EXTRACHECKS.
- SCST_HIGHMEM into CONFIG_SCST_HIGHMEM.
- STRICT_SERIALIZING into CONFIG_SCST_STRICT_SERIALIZING.
- TM_DBG_GO_OFFLINE into CONFIG_SCST_TM_DBG_GO_OFFLINE. Mapped 0/1 values
into macro undefined / macro defined.
- TRACING into CONFIG_SCST_TRACING.
- USE_EXPECTED_VALUES into CONFIG_SCST_USE_EXPECTED_VALUES.
- In qla_isp/linux/isp_scst.c, renamed DEBUG into DEBUG_ISP_SCST.
- In qla_isp/..., renamed SCSI_TARGET in SCST_SCSI_TARGET.
- In qla_isp/..., renamed SCSI_TARGET_DEV in SCST_SCSI_TARGET_DEV.
Additionally, all CONFIG_SCSI_TARGET* macro's are renamed into CONFIG_SCST* in
order to avoid confusion between the STGT CONFIG-symbols and the SCST CONFIG-
symbols.
The following additional options are now configurable through Kconfig:
- CONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES
- CONFIG_SCST_STRICT_SERIALIZING
- CONFIG_SCST_STRICT_SECURITY
- CONFIG_SCST_ALLOW_PASSTHROUGH_IO_SUBMIT_IN_SIRQ
- CONFIG_SCST_ABORT_CONSIDER_FINISHED_TASKS_AS_NOT_EXISTING
- CONFIG_SCST_USE_EXPECTED_VALUES
- CONFIG_SCST_DEBUG_OOM
- CONFIG_SCST_DEBUG_RETRY
- CONFIG_SCST_DEBUG_SN
- CONFIG_SCST_DEBUG_TM
- CONFIG_SCST_TM_DBG_GO_OFFLINE
The patch below has been verified as follows:
- Verified that the following command does not print any new warning messages:
make -s clean && make -C srpt -s clean && make -s scst iscsi-scst && make -C srpt -s
- Verified as follows that the internal SCST patches still apply cleanly:
for p in *patch; do patch -p0 --dry-run -f -s <$p; done
- Checked that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.7 kernel, and that the patched kernel tree still
compiles, installs and boots fine, that the iscsi-scst, ib_srpt,
scst_disk and scst_vdisk modules still load, and that iSCSI communication
still works fine. All SCST kernel configuration options that could be
enabled have been enabled during this test.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@453 d57e44dd-8a1f-0410-8b47-8ef2f437770f
(in h file) or exported to fix the following sparse warning:
/scst/trunk/iscsi-scst/kernel/iscsi.c:166:6: warning: symbol
'cmnd_free' was not declared. Should it be static?
Signed-off-by: Dotan Barak <dotanba@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@448 d57e44dd-8a1f-0410-8b47-8ef2f437770f
/scst/trunk/iscsi-scst/kernel/iscsi.c:190:30: warning: symbol 'req'
shadows an earlier one
/scst/trunk/iscsi-scst/kernel/iscsi.c:182:29: originally declared here
Signed-off-by: Dotan Barak <dotanba@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@446 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below fixes the following class of checkpatch warnings:
- WARNING: braces {} are not necessary for single statement blocks
How this patch has been verified:
- Checked that make -s clean && make -s scst iscsi-scst still works.
- Verified that checkpatch does no longer complain about the placement of
braces.
The patch below only changes comments, so it should be safe to include it in
the 1.0.0 release.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@415 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Fixed 2 problems in scst_user on release() cleanup
- Added per-device memory limit and new scst.ko module parameter scst_max_dev_cmd_mem
- Cleanups, including important ones
- Version changed to 1.0.0-rc1
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@411 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below fixes all remaining checkpatch errors:
- ERROR: do not use assignment in if condition
- ERROR: that open brace { should be on the previous line
- ERROR: trailing whitespace
- ERROR: use tabs not spaces
The last three had already been fixed before, but some occurences were
reintroduced in r403. It would be great if new modifications could be checked
for checkpatch errors before being committed.
This patch has been tested as follows:
- Reread the patch below carefully.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works and does not trigger any compiler warnings.
- Verified that checkpatch does no longer report any errors.
- Checked that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.4 kernel, and that the patched kernel tree still
compiles, installs and boots fine, and that the iscsi-scst, ib_srpt,
scst_disk and scst_vdisk modules still load.
- Tested that iSCSI login/logout still works from a remote system, and that
iSCSI I/O still works.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@404 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- PRIO queue was removed from scst_user. Instead, all priority commands now queued in the head of the regular queue. The corresponding code was removed from fileio_tgt as well. It necessary, in the future the priority queue can be easily restored from this patch.
- pre_unreg_sess() was removed from struct scst_dev_type. The corresponding code was removed from SCST core as well
- Almost all /proc/scsi_tgt commands now can fail after timeout (90 seconds) with EBUSY
- Fixed possible incorrect command's retry if double RESET UA is detected.
- Many minor changes and cleanups
Also docs were updated.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@403 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below fixes the following category of checkpatch complaints:
ERROR: do not use C99 // comments
This patch has been verified as follows:
- Verified that checkpatch does no longer complain about C99 comments.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
The patch below fixes the following category of checkpatch complaints:
WARNING: unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html
This patch has been verified as follows:
- Verified that checkpatch does no longer complain about unnecessary casts.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works and does not trigger any new compiler warnings.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
The patch below fixes the following category of checkpatch warnings:
ERROR: Use of SPIN_LOCK_UNLOCKED is deprecated: see Documentation/spinlocks.txt
This patch has been verified as follows:
- Verified that checkpatch does no longer complain about spinlocks.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works and does not trigger any new compiler warnings.
- Verified that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.4 kernel, and that the patched kernel tree still
compiles, installs and boots fine, and that the iscsi-scst, ib_srpt,
scst_disk and scst_vdisk modules still load.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@401 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below fixes the following checkpatch warning:
WARNING: Use #include <linux/...> instead of <asm/...>
This patch has been tested as follows:
- Verified the patch by rereading it.
- Checked that make -s clean && make -s iscsi scst && make -s -C srpt still
works.
- Checked that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.4 kernel, and that the patched kernel tree still
compiles, installs and boots fine, and that the iscsi-scst, ib_srpt,
scst_disk and scst_vdisk modules still load.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@399 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below fixes the following categories of checkpatch complaints:
- ERROR: switch and case should be at the same indent
- ERROR: do not initialise statics to 0 or NULL
- ERROR: use tabs not spaces
I have verified that the SCST source code still compiles.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@398 d57e44dd-8a1f-0410-8b47-8ef2f437770f
While all warnings on mismatches between printf-style format strings and
argument lists were fixed on i386 and x86_64, gcc prints a large number of
warnings about mismatches when compiling SCST on ppc64. The patch below
fixes these by casting integer arguments to the type (long long unsigned int)
where appropriate.
This patch has been tested as follows:
- Verified the patch by reading it.
- Checked that make -s clean && make -s iscsi scst && make -s -C srpt did not
trigger any compiler warnings about format strings on i386, x86_64 and ppc.
- Checked that no previously fixed checkpatch warnings were reintroduced in
the patch generated by generate-kernel-patch.
- Checked that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.4 kernel, and that the patched kernel tree still
compiles, installs and boots fine.
Additionally, this patch splits a kernel version preprocessor test from one into two lines, such that
the generate-kernel-patch script can process the version check properly.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@397 d57e44dd-8a1f-0410-8b47-8ef2f437770f