Commit Graph
5663 Commits
Author SHA1 Message Date
Vladislav Bolkhovitin 6c95c681ac scst: avoid false lockdep complaints about recursive locking
In some cases SCST needs to take multiple locks recursivly, e.g. to lock
all tgt_devs in a session. For this case SCST takes those locks in their
current sort order, e.g. by LUN for tgt_devs, then releases in the
opposite order. Unfortunately, lockdep complains on such actions as
recursive locking, then disables itself. The disabling itself action is
the most unpleasant one leading to lockdep being useless after this point.

Unfortunately, nested locking annotations can't help, because after
free, then alloc again, or after LUN change (in case of tgt_devs) order
of locks can change.

So, this patch implements a way to annotate some lock and unlock actions
as "no lockdep", so lockdep will not track them. It contains related
kernel patches for some kernels.

This is a debug aid only useful only with lockdep enabled kernels.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7065 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-20 05:47:15 +00:00
Bart Van Assche 8845ef4bb3 Fix patch "ib_srpt: Fix nightly build" 2016-12-19 19:39:25 +01:00
Bart Van Assche 34dd80153e isert-scst: Fix CentOS 7.3 build 2016-12-19 15:16:48 +01:00
Bart Van Assche 92a2cb05ec isert-scst: Rename SCST_DIR into SCST_SYMVERS_DIR
Additionally, align shell code.
2016-12-19 15:16:41 +01:00
Bart Van Assche ec4d623028 ib_srpt: Fix nightly build 2016-12-19 15:15:48 +01:00
Bart Van Assche 6f639f07e2 ib_srpt, Makefile: Align shell code 2016-12-19 15:15:48 +01:00
Bart Van Assche 0fdb98e5d5 ib_srpt: Fix MOFED build 2016-12-19 15:15:48 +01:00
Bart Van Assche 1567392211 ib_srpt: CentOS 7.3 build fix 2016-12-19 11:38:13 +01:00
Bart Van Assche 250aead21d ib_srpt: Only report that SRQ creation failed if it was attempted to create an SRQ 2016-12-19 11:38:13 +01:00
Bart Van Assche 34d98213ef ib_srpt: Destroy SRQ before freeing the buffers posted on the SRQ 2016-12-19 11:38:13 +01:00
Bart Van Assche c500c848be ib_srpt: Rename a symbolic constant 2016-12-19 11:38:13 +01:00
Bart Van Assche f9e116c68f ib_srpt: Remove a local variable 2016-12-19 11:38:13 +01:00
Bart Van Assche c555a0135f ib_srpt: Join two lines 2016-12-19 11:37:29 +01:00
Bart Van Assche b495223128 ib_srpt: Add support for kernels without ib_device.dma_ops 2016-12-19 11:37:28 +01:00
Bart Van Assche 574d6f327b ib_srpt: Simplify a debug statement 2016-12-19 11:37:28 +01:00
Bart Van Assche 122a343343 ib_srpt: Fix RHEL / CentOS 7.3 build
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7063 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-17 12:46:51 +00:00
Bart Van Assche aae05f0af4 ib_srpt: Fix build against MOFED v3.4
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7062 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-17 12:41:41 +00:00
Bart Van Assche 3f9439a772 ib_srpt: Revert r7050
r7050 did not change any behavior so revert it. Note for myself: in the
ib_srpt driver the port number is set by the ib_modify_qp() call in
srpt_init_ch_qp().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7061 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-17 12:33:45 +00:00
Vladislav Bolkhovitin b3e84925c4 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7060 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-16 04:25:04 +00:00
Vladislav Bolkhovitin 4abce7a7f3 Update SVN_TAGS for 3.2.0
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7059 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-16 03:03:59 +00:00
Vladislav Bolkhovitin 53c0c00bf4 Add user space pieces to scst-dist-gzip.
They now essential part of the distribution



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7054 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-16 02:49:45 +00:00
Vladislav Bolkhovitin 55b7684bb7 fileio_tgt: avoid warnings about casting between pointers and integers of different size
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7053 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-16 02:46:49 +00:00
Bart Van Assche 3749ca972b ib_srpt: Create QP on the RDMA port the initiator logged in to
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7050 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-14 12:31:23 +00:00
Bart Van Assche f09274f365 ib_srpt: Simplify a debug statement
It is likely that ib_device.dma_ops will be removed sooner or later.
Hence make sure that the ib_srpt driver does not depend on it.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7049 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-07 23:52:41 +00:00
Bart Van Assche 804bead1ab Merge branch 'svn-trunk' 2016-12-01 18:07:11 -08:00
Bart Van Assche b3893277be ib_srpt: Reduce build time
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7048 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 16:19:40 +00:00
Bart Van Assche 7cb08382ac ib_srpt Makefile: Follow-up for trunk r6138
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7047 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 16:19:14 +00:00
Bart Van Assche dca84e290b ib_srpt: Only complain if immediate data has to be copied if CONFIG_SLUB_DEBUG=n
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7046 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 16:18:39 +00:00
Bart Van Assche 2ceb46b6f0 Merge branch 'svn-trunk' 2016-11-30 21:32:09 -08:00
Bart Van Assche 7d6dda42f4 */*/Makefile-4.*: Remove because no longer needed 2016-11-30 21:31:41 -08:00
Bart Van Assche 34bf6df75d iscsi-scst: Restore msg->msg_iov check 2016-11-30 21:31:41 -08:00
Bart Van Assche 585e1a9e65 scst_vdisk: Sync with svn-trunk 2016-11-30 21:31:41 -08:00
Bart Van Assche 2470b10ad0 scst_vdisk: Remove more unneeded casts
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7045 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 05:22:01 +00:00
Bart Van Assche e42dfbbb72 scst_vdisk: Remove a superfluous cast
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7044 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 05:16:15 +00:00
Bart Van Assche c9eae551f5 scst.spec.in: Remove %dir /lib/modules/%{kversion}/extra
This avoids that the SCST RPM conflicts with other kernel RPMs
that install kernel modules in the "extra" directory. Reported
and suggested by Consus <consus@gmx.com>.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7043 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 05:10:43 +00:00
Bart Van Assche 07e91f348e scripts/run-regression-tests: Avoid that "make oldconfig" hangs
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7042 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 05:08:58 +00:00
Bart Van Assche 89e17d75c9 scst: Use READ_ONCE() instead of ACCESS_ONCE()
This is a stylistic change only.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7041 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 05:07:48 +00:00
Bart Van Assche 38991d1222 scst_mem: Fix indentation
See also trunk r677.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7040 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-12-01 05:06:36 +00:00
Bart Van Assche 5a28661cc6 Merge branch 'svn-trunk' 2016-11-29 19:22:48 -08:00
Vladislav Bolkhovitin 1dd41fa380 generate-kernel-patch: fix custom cross-compilation kernel case
Otherwise there is non-fatal error like: No such file or directory

grep: /lib/modules/<current_running_kernel>/build/.config: Permission denied

This is a better version of r7022 suggested by Bart



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7037 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-11-30 03:06:38 +00:00
Bart Van Assche 92d58ab9f5 Merge branch 'svn-trunk' 2016-11-26 11:25:45 -08:00
Bart Van Assche a274e9a82b scripts/run-regression-tests: Disable CONFIG_STACK_VALIDATION and CONFIG_X86_X32
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7036 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-11-26 19:25:30 +00:00
Bart Van Assche af36dbc1f4 scripts/generate-kernel-patch: Fix shellcheck warnings
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7035 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-11-26 19:25:06 +00:00
Bart Van Assche 37cd6430e7 Merge branch 'svn-trunk' 2016-11-24 09:33:17 -08:00
Bart Van Assche 2c9728e4cf iscsi-scst/Makefile: Fix INFINIBAND_ENABLED test
Running "make install" ensures that the kernel config file is available
in $(KDIR)/.config. However, that file is not available if $(KDIR) points
at a kernel that comes from a Linux distributor. Hence change the
$(INFINIBAND_ENABLED) test to check $(KDIR)/../modules.symbols.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7034 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-11-24 17:32:40 +00:00
Bart Van Assche 881402bdc3 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7033 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-11-24 17:15:14 +00:00
Bart Van Assche 6ba9d088ee scripts/generate-kernel-patch: Revert r7022
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
2016-11-24 16:53:00 +00:00
Bart Van Assche 7df42099eb Merge branch 'svn-trunk' 2016-11-23 20:26:50 -08:00
Vladislav Bolkhovitin 6258844d60 scst: fix overflows handling for tapes
Reported and tested by Matthew D. Frederes <matt@bitech.biz>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7029 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-11-23 03:45:35 +00:00
Bart Van Assche bb09dc08c9 Merge branch 'svn-trunk' 2016-11-16 21:26:03 -08:00