Move the existing client layout into a private header and link
separate suites with shared fixtures. Add task-scoped usercopy and
allocation boundaries around the actual ioctl and timeout paths.
Use private clients without scheduling work or accessing userspace
memory. Preserve payload validation and counter behavior; the
delivered-timeout assertion exposes the existing double decrement.
Include the private event headers needed by ordinary in-tree builds
in generated kernel patches.
Give the separate UNMAP suite private access to the actual overlap
function. Check parser and consumer contracts without changing
validation or descriptor traversal.
Bind each command's CDB pointer to its private buffer and provide a
private session for allocation-failure status handling.
Use allocated guard descriptors to expose count violations safely.
Expect incomplete final descriptors to be ignored while preserving
complete descriptors, including when the CDB truncates the list. Stop
sense and descriptor checks if the parser returns an unexpected status.
Keep correct-result assertions for existing failures and explicitly skip
short-transfer cases that could read beyond the baseline buffer.
Integrate optional native KUnit suites with out-of-tree SCST modules.
A single CONFIG_SCST_KUNIT_TEST switch includes all test objects of
each owner. Declare each suite name and label once and discover source
registrations for kunit-list without a build or loaded modules.
Preserve ordinary builds without KUnit.
Start with a fixed-wire LUN regression. Centralize private visibility
and task-scoped static-stub switches, and define retained-fixture
reporting for asynchronous tests. Use current native KUnit APIs
without compatibility shims. Keep optional execution messages behind
CONFIG_SCST_KUNIT_LOG while leaving failure diagnostics unconditional.
Add Makefile/Kbuild regression checks and document the shared switch.
Keep compatibility builds free of KUnit, including inherited test
options and allmodconfig. Generate ordinary in-tree SCST patches with
private declarations but without test suites or KUnit build options.
Check this boundary and preserve kernels without an unwinder option.
Quote scalar arguments and use arrays for command option lists so paths
and options retain their boundaries. Preserve intentional version-field
splitting with narrow documented suppressions.
Also handle GNU getopt output without losing quoted arguments and
remove warnings about masked statuses, unused values and ambiguous test
expressions.
Mercurial branches remain in source-listing and cleanup helpers after
Subversion support was retired. SCST development now uses Git.
Remove Mercurial detection and commands together with stale Subversion
wording. Preserve the existing no-VCS source-list fallback and all Git
behavior.
Write the specialized patch unchanged when diffstat is unavailable,
instead of creating an empty file. Propagate specialization,
output-directory, and generated-header failures to the caller.
Treat status 1 from diff as successful when generating QLogic in-tree
patches, while continuing to propagate actual diff failures.
Reject unsupported kernel versions before download or patch generation.
Remove 2.x paths, RHEL 5/6 and Scientific Linux repositories, and
compatibility branches that cannot run with the Linux 3.10 minimum.
Keep the maintained ABT_KERNELS matrix unchanged.
Procfs support was removed in 2019, but dead configuration guards,
patch specialization logic and unused declarations remained. Remove these
remnants and simplify paths that can no longer receive procfs-only objects.
Fix mismatch where generate-kernel-patch keyed paths by full_kver
(with ‘^’) but in-tree patches were written under krel
(before ‘^’). Derive krel=${full_kver/^*} and use it for qla2xxx path
resolution.
A few examples of how to run the regression tests against a distro kernel:
scripts/run-regression-tests -l 4.18.0-147.5.1.el8_1^CentOS^8.1.1911-nc
scripts/run-regression-tests -l 4.18.0-80.11.2.el8_0^CentOS^8.0.1905-nc
scripts/run-regression-tests -l 3.10.0-1127.el7^CentOS^7.8.2003-nc
scripts/run-regression-tests -l 3.10.0-1062.18.1.el7^CentOS^7.7.1908-nc
scripts/run-regression-tests -l 3.10.0-957.27.2.el7^CentOS^7.6.1810-nc
scripts/run-regression-tests -l 3.10.0-862.14.4.el7^CentOS^7.5.1804-nc
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8885 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Since the scst_targ.c source file is large, move the functions for processing
SCSI commands into a new source file, scst_local_cmd.c.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8768 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The exec_req_fifo patches have been removed some time ago. Hence also remove
the code that depends on these patches having been applied. See also commit
78d6da4517 ("scst: Remove obsolete exec_req_fifo kernel patches"; r8022).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8698 d57e44dd-8a1f-0410-8b47-8ef2f437770f
A recent change (.cmd_size in the SCSI host template) increased the
minimal kernel version required for qla2x00t-32gbit. Update
scripts/generate-kernel-patch.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8571 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The source code in this commit is a combination of the v4.18.20 qla2xxx
driver and the QLogic target driver from the QLogic git repository
(commit ac4faf74f437 ("qla2xxx: Fix session creation fail")).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8091 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Move the QLogic target code from drivers/scst/qla2x00-target/ to
drivers/scsi/qla2xxx/.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8084 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Additionally, only try to download the Linux kernel when including the
qla2x00t driver in the output.
This is a modified version of a patch supplied by Pascal de Bruijn.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7825 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Make sure that both paths in the diff header have the same number of
components. This patch does not change the result of applying a patch
generated by this script.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7441 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Revert r7022 because:
* Changing $kver3 into $kver is wrong for 2.x kernels.
* Building include/iscsi_scst_itf_ver.h must not depend on the kernel version.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7032 d57e44dd-8a1f-0410-8b47-8ef2f437770f