scst, fcst, iscsi-scst, qla2x00t, srpt: Add module namespace support

This patch adds support for kernel module namespaces. This patch is essential
when using SCST in combination with kernel version v5.4 or later.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8673 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2019-11-30 00:54:20 +00:00
parent df61d43643
commit f22d4bb63b
20 changed files with 31 additions and 3 deletions

View File

@@ -85,5 +85,7 @@ static void __exit ft_module_exit(void)
MODULE_AUTHOR("Joe Eykholt <jeykholt@cisco.com>");
MODULE_DESCRIPTION("SCST FCoE target driver v" FT_VERSION);
MODULE_LICENSE("GPL v2");
MODULE_IMPORT_NS(SCST);
module_init(ft_module_init);
module_exit(ft_module_exit);

View File

@@ -4421,4 +4421,5 @@ module_exit(iscsi_exit);
MODULE_VERSION(ISCSI_VERSION_STRING);
MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(SCST);
MODULE_DESCRIPTION("SCST iSCSI Target");

View File

@@ -514,6 +514,7 @@ out:
MODULE_AUTHOR("Yan Burman");
MODULE_LICENSE("Dual BSD/GPL");
MODULE_IMPORT_NS(SCST);
MODULE_DESCRIPTION("iSER target transport driver v3.0.1-pre#"
__stringify(OFED_FLAVOR));

View File

@@ -46,7 +46,8 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
ifneq ($(PATCHLEVEL),)
ccflags-y += $(call cc-option,-Wextra) -Wno-unused-parameter \
-Wno-missing-field-initializers -I$(src)/../scst/include
-Wno-missing-field-initializers -I$(src)/../scst/include\
-DDEFAULT_SYMBOL_NAMESPACE=QLA32GB
ifneq ($(CONFIG_SCSI_QLA2XXX_TARGET),)
ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET)

View File

@@ -2178,4 +2178,6 @@ late_initcall(sqa_init);
MODULE_DESCRIPTION("SCST Cavium adapter target interface driver.");
MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(SCST);
MODULE_IMPORT_NS(QLA32GB);
MODULE_VERSION(SQA_VERSION);

View File

@@ -43,7 +43,8 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
ifneq ($(PATCHLEVEL),)
ccflags-y += $(call cc-option,-Wextra) -Wno-unused-parameter \
-Wno-missing-field-initializers -I$(src)/../scst/include
-Wno-missing-field-initializers -I$(src)/../scst/include\
-DDEFAULT_SYMBOL_NAMESPACE=QLA16GB
ifneq ($(CONFIG_SCSI_QLA2XXX_TARGET),)
ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET)

View File

@@ -7108,4 +7108,6 @@ module_exit(q2t_exit);
MODULE_AUTHOR("Vladislav Bolkhovitin and others");
MODULE_DESCRIPTION("Target mode addon for qla2[2,3,4,5+]xx");
MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(SCST);
MODULE_IMPORT_NS(QLA16GB);
MODULE_VERSION(Q2T_VERSION_STRING);

View File

@@ -960,6 +960,11 @@ static inline void kvfree(void *addr)
}
#endif
/* <linux/module.h> */
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
#define MODULE_IMPORT_NS(ns)
#endif
/* <linux/nvme-fc.h> */
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) && \

View File

@@ -36,8 +36,11 @@ SHELL=/bin/bash
DEV_HANDLERS_DIR = dev_handlers
ifneq ($(PATCHLEVEL),)
# See also Documentation/core-api/symbol-namespaces.rst for more information
# about DEFAULT_SYMBOL_NAMESPACE.
ccflags-y += -I$(KBUILD_EXTMOD)/../include $(call cc-option,-Wextra) \
-Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare\
-DDEFAULT_SYMBOL_NAMESPACE=SCST\
$(shell [ -n "${CONFIG_SCST_NO_DLM}" ] && echo -DCONFIG_SCST_NO_DLM)
#ccflags-y += -DCONFIG_SCST_STRICT_SERIALIZING

View File

@@ -243,3 +243,4 @@ MODULE_LICENSE("GPL");
MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
MODULE_DESCRIPTION("SCSI CDROM (type 5) dev handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -193,3 +193,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("SCSI medium changer (type 8) dev handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -598,4 +598,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("SCSI disk (type 0) dev handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -327,3 +327,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("SCSI MO disk (type 7) dev handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -193,3 +193,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("SCSI medium processor (type 3) dev handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -194,3 +194,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("SCSI raid(controller) (type 0xC) dev handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -349,3 +349,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("SCSI tape (type 1) dev handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -4260,3 +4260,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("User space device handler for SCST");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -10429,3 +10429,4 @@ MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("SCSI disk (type 0) and CDROM (type 5) dev handler for "
"SCST using files on file systems or block devices");
MODULE_VERSION(SCST_VERSION_STRING);
MODULE_IMPORT_NS(SCST);

View File

@@ -203,6 +203,7 @@ MODULE_AUTHOR("Richard Sharpe, Vladislav Bolkhovitin + ideas from SCSI_DEBUG");
MODULE_DESCRIPTION("SCSI+SCST local adapter driver");
MODULE_LICENSE("GPL");
MODULE_VERSION(SCST_LOCAL_VERSION);
MODULE_IMPORT_NS(SCST);
static int scst_local_get_sas_transport_id(struct scst_local_sess *sess,
uint8_t **transport_id, int *len)

View File

@@ -79,6 +79,7 @@ MODULE_AUTHOR("Vu Pham and Bart Van Assche");
MODULE_DESCRIPTION("SCSI RDMA Protocol target driver "
"v" DRV_VERSION " (" DRV_RELDATE ")");
MODULE_LICENSE("Dual BSD/GPL");
MODULE_IMPORT_NS(SCST);
/*
* Global Variables