When building against Oracle Linux + MOFED the build fails unless if
DTrace is disabled. Hence disable DTrace for the isert-scst module if
MOFED is detected.
Signed-off-by: Sergey Gorenko <sergeygo@mellanox.com>
[ bvanassche: Left out one empty OFED_CONFIG assignment ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8396 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Move the build_mode file from the top level into the scst directory. Write
build mode defines into scst/include/build_mode.h and include that file
directly or indirectly in all source files that depend on these #defines.
This approach has the advantage that "make clean" does no longer has to
be run when switching between build modes because the kernel build system
recognizes build_mode.h as a dependency and triggers a rebuild of all
source files that directly or indirectly include the build_mode.h header
file.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8347 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Move the $(SCST_INC_DIR) definitions from the out-of-tree sections into
the in-kernel sections. Since SCST is now distributed as a single tar
archive, only support in-tree builds with $(SCST_INC_DIR) and $(SCST_DIR).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8079 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This patch avoids that the following warning is reported when building
against kernel v4.21:
================= WARNING ================
'SUBDIRS' will be removed after Linux 5.3
Please use 'M=' or 'KBUILD_EXTMOD' instead
==========================================
A quote from an upstream kernel patch:
commit 07e5823127155b3a29003aca926f87c9843f6810
Author: Andrew Morton <akpm@osdl.org>
Date: Mon Apr 12 01:05:40 2004 -0700
[PATCH] kbuild: external module support
From: Sam Ravnborg <sam@ravnborg.org>
Based on initial patch from Andreas Gruenbacher there is now better support
for building external modules with kbuild.
The preferred syntax is now:
make -C $KERNELSRC M=$PWD
but the old syntax:
make -C $KERNELSRC SUBDIRS=$PWD modules
will remain supported.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7851 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Since RHEL 5 and kernel versions before 2.6.26 rely on procfs support,
this patch removes support for RHEL 5.x and also for kernel versions
before 2.6.26.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7829 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Commit r7084 removed all users of MOFED_MAJOR. Hence also remove the
code that sets that variable. Note: MOFED_MINOR was never used in any
.c file.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7363 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Inspecting modules.symbols is fine after a kernel has been installed but
not if a kernel tree has not been installed. If a kernel tree has not
been installed, check the .config file.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7131 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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
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
1. Fix build of progs and mods targets, if iscsi_scst_itf_ver.h does not exist
2. Fix small race for parallel build of "all" target, when iscsi_scst_itf_ver.h
not yet built, when progs or mods target need it
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6861 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Some components don't have 'uninstall' targets although the top-level
Makefile references them. Some others don't remove the proper file.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5290 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Not all SCST components handle DESTDIR properly, or at all.
In particular:
* INSTALL_MOD_PATH should account for DESTDIR when 'make modules_install'
is invoked, so the kernel make infrastructure deploys the modules
and runs depmod against the proper directory tree.
* depmods must include a '-b' option to reference the proper directory tree.
* Drop special ISCSI_DESTDIR.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5289 d57e44dd-8a1f-0410-8b47-8ef2f437770f
When deriving the kernel version (KVER) from KDIR, the file
$(KDIR)/include/config/kernel.release should be preferred over
'make kernelversion'.
For example, the Ubuntu 3.2.0-23-generic kernel has a kernel.release
file containing '3.2.0-23-generic', but 'make kernelversion' returns
3.2.14. Since the modules are stored under /lib/modules/3.2.0-23-generic,
the value in kernel.release is the correct one to use.
Also:
- Evaluate KVER only once
- All depmod commands must include KVER
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
[bvanassche: Split long lines / removed trailing whitespace]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5286 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Make it possible to build an SCST RPM via the command "make rpm".
The contents of the two RPMs built by this command is as follows:
$ rpm -qlp rpmbuilddir/RPMS/x86_64/scst-3.11.8+-3.0.0.*-1.x86_64.rpm
/lib/modules/3.11.8+/extra
/lib/modules/3.11.8+/extra/dev_handlers
/lib/modules/3.11.8+/extra/dev_handlers/scst_cdrom.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_changer.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_disk.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_modisk.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_processor.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_raid.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_tape.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_user.ko
/lib/modules/3.11.8+/extra/dev_handlers/scst_vdisk.ko
/lib/modules/3.11.8+/extra/fcst.ko
/lib/modules/3.11.8+/extra/ib_srpt.ko
/lib/modules/3.11.8+/extra/iscsi-scst.ko
/lib/modules/3.11.8+/extra/qla2x00tgt.ko
/lib/modules/3.11.8+/extra/qla2xxx_scst.ko
/lib/modules/3.11.8+/extra/scst.ko
/lib/modules/3.11.8+/extra/scst_local.ko
/usr/sbin/iscsi-scst-adm
/usr/sbin/iscsi-scstd
/usr/share/man/man5/iscsi-scstd.conf.5.gz
/usr/share/man/man8/iscsi-scst-adm.8.gz
/usr/share/man/man8/iscsi-scstd.8.gz
/var/lib/scst
$ rpm -qlp rpmbuilddir/RPMS/x86_64/scst-3.11.8+-devel-3.0.0.*-1.x86_64.rpm
/usr/include/scst
/usr/include/scst/Module.symvers
/usr/include/scst/scst.h
/usr/include/scst/scst_const.h
/usr/include/scst/scst_debug.h
/usr/include/scst/scst_sgv.h
/usr/include/scst/scst_user.h
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5137 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Currently the install location of SCST is pretty much hard coded into
the Makefiles to be /usr/local.
I am custom building a system for ZFS & SCST and I want to install in
/usr instead of /usr/local.
Currently I am doing a “find . -name Makefile -exec sed -i 's:/usr/local:/usr:g'
{} \;” to accommodate this.
This patch fixes it.
From Sietse van Zanen <sietse@wizdom.nu>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4791 d57e44dd-8a1f-0410-8b47-8ef2f437770f
It is cumbersome to change SCST_INC_DIR and SCST_DIR in each Makefile
before and after a release. Hence modify the Makefiles such that these
paths are detected automatically.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4740 d57e44dd-8a1f-0410-8b47-8ef2f437770f
from the previous state. Hence, the corresponding labels were renamed to
2debug, 2release and 2perf.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3736 d57e44dd-8a1f-0410-8b47-8ef2f437770f
scst, iscsi-scst and qla2x00t. This makes it unnecessary hard for users to
run several target drivers simultaneously. Additionally, several variants of
these init scripts exist for different distributions. This patch unifies all
these init scripts into a single init script. Additionally, some new features
have been added:
- Kernel module parameters can now be specified per kernel module in
/etc/default/scst. An example:
ib_srpt_parameters="thread=1 srp_max_req_size=4200"
- When using the sysfs interface, compute the kernel module list from scst.conf.
Or, editing the SCST_MODULES variable is no longer necessary.
- When using the procfs interface, the SCST handler kernel module list is
computed from /etc/scst.conf. The list of target driver kernel modules must
now be configured in /etc/default/scst.
Other changes:
- scstadmin output is shown if scstadmin fails.
- Running make -C scstadmin install does no longer cause the scst script to
be started at the next reboot - it is better to leave this as an explicit step.
- Made the error message generated if the lsb-core package has not yet been
installed more clear.
- Use proper init script path on Slackware.
- make uninstall: run remove_initd under chroot if $(DESTDIR) is not empty.
- Fixed a bug in "make -C scstadmin uninstall": the path specified for removing
/etc/init.d/scst was wrong.
- The command /etc/init.d/scst restart will only try to start SCST if stopping
succeeded.
- Replaced "mkdir -m 755 -p $(DESTDIR)$(INITDIR)" by
"install -d $(DESTDIR)$(INITDIR)" because of uniformity.
These changes have been tested on Ubuntu 11.04, Fedora 15, CentOS 5.6,
Scientific Linux 6.0, openSUSE 11.4, SLES11 SP1 and Slackware 13.37.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3564 d57e44dd-8a1f-0410-8b47-8ef2f437770f