Skip to content

Commit

Permalink
scst: Port to Linux kernel v6.13
Browse files Browse the repository at this point in the history
Support for the following changes in the Linux kernel v6.13:

- cdd30ebb1b9f ("module: Convert symbol namespace to string literal")
  • Loading branch information
lnocturno committed Jan 20, 2025
1 parent ddd7f08 commit f1f36d2
Show file tree
Hide file tree
Showing 42 changed files with 109 additions and 35 deletions.
2 changes: 1 addition & 1 deletion fcst/ft_scst.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ static void __exit ft_module_exit(void)
MODULE_AUTHOR("Joe Eykholt <[email protected]>");
MODULE_DESCRIPTION("SCST FCoE target driver v" FT_VERSION);
MODULE_LICENSE("GPL v2");
MODULE_IMPORT_NS(SCST);
MODULE_IMPORT_NS(SCST_NAMESPACE);

module_init(ft_module_init);
module_exit(ft_module_exit);
3 changes: 3 additions & 0 deletions iscsi-scst/kernel/conn.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
#include "iscsi.h"
#include "digest.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#if defined(CONFIG_LOCKDEP) && !defined(CONFIG_SCST_PROC)
static struct lock_class_key scst_conn_key;
static struct lockdep_map scst_conn_dep_map =
Expand Down
3 changes: 3 additions & 0 deletions iscsi-scst/kernel/event.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
#include "iscsi_trace_flag.h"
#include "iscsi.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

struct net *iscsi_net_ns;
EXPORT_SYMBOL(iscsi_net_ns);

Expand Down
5 changes: 4 additions & 1 deletion iscsi-scst/kernel/iscsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@
#include "iscsi.h"
#include "digest.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#define ISCSI_INIT_WRITE_WAKE 0x1

static int ctr_major;
Expand Down Expand Up @@ -4296,5 +4299,5 @@ module_exit(iscsi_exit);

MODULE_VERSION(ISCSI_VERSION_STRING);
MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(SCST);
MODULE_IMPORT_NS(SCST_NAMESPACE);
MODULE_DESCRIPTION("SCST iSCSI Target");
5 changes: 3 additions & 2 deletions iscsi-scst/kernel/iscsit_transport.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

#include <linux/spinlock.h>
#include "iscsi_trace_flag.h"
#ifdef INSIDE_KERNEL_TREE
Expand All @@ -8,6 +7,9 @@
#endif
#include "iscsi.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

static LIST_HEAD(transport_list);
static DEFINE_MUTEX(transport_mutex);

Expand Down Expand Up @@ -66,4 +68,3 @@ void iscsit_unreg_transport(struct iscsit_transport *t)
PRINT_INFO("Unregistered iSCSI transport: %s", t->name);
}
EXPORT_SYMBOL(iscsit_unreg_transport);

2 changes: 1 addition & 1 deletion iscsi-scst/kernel/isert-scst/isert.c
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ static int __init isert_init_module(void)

MODULE_AUTHOR("Yan Burman");
MODULE_LICENSE("Dual BSD/GPL");
MODULE_IMPORT_NS(SCST);
MODULE_IMPORT_NS(SCST_NAMESPACE);
#define DRV_VERSION "3.10.0-pre" "#" __stringify(OFED_FLAVOR)
#define DRV_RELDATE "28 December 2024"
MODULE_DESCRIPTION("iSER target transport driver v" DRV_VERSION " (" DRV_RELDATE ")");
Expand Down
3 changes: 3 additions & 0 deletions iscsi-scst/kernel/nthread.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
#include "iscsi.h"
#include "digest.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

/* Read data states */
enum rx_state {
RX_INIT_BHS, /* Must be zero for better "switch" optimization. */
Expand Down
3 changes: 3 additions & 0 deletions iscsi-scst/kernel/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
#include "iscsi.h"
#include "digest.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#define MAX_NR_TARGETS (1UL << 30)

DEFINE_MUTEX(target_mgmt_mutex);
Expand Down
5 changes: 2 additions & 3 deletions qla2x00t-32gbit/Kbuild
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
ccflags-y += -I$(src)/../scst/include -I$(src)/include \
-DDEFAULT_SYMBOL_NAMESPACE=QLA32GB
ccflags-y := -I$(src)/../scst/include -I$(src)/include

ifneq ($(CONFIG_SCSI_QLA2XXX_TARGET),)
ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET)
ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET)
endif

obj-m := qla2xxx_scst.o
Expand Down
3 changes: 3 additions & 0 deletions qla2x00t-32gbit/qla2x00-target/qla_tgt.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@
#include "qla_def.h"
#include "scst_qla2xxx.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_QLA32_NAMESPACE

size_t qlt_add_vtarget(u64 port_name, u64 node_name, u64 parent_host)
{
struct fc_vport *vport;
Expand Down
5 changes: 2 additions & 3 deletions qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c
Original file line number Diff line number Diff line change
Expand Up @@ -2199,9 +2199,8 @@ module_exit(sqa_exit);
late_initcall(sqa_init);
#endif


MODULE_DESCRIPTION("SCST Cavium adapter target interface driver.");
MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(SCST);
MODULE_IMPORT_NS(QLA32GB);
MODULE_IMPORT_NS(SCST_NAMESPACE);
MODULE_IMPORT_NS(SCST_QLA32_NAMESPACE);
MODULE_VERSION(SQA_VERSION);
3 changes: 3 additions & 0 deletions qla2x00t-32gbit/qla_target.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
#include "qla_def.h"
#include "qla_target.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_QLA32_NAMESPACE

/*
* See also commit fb3269baf4ec ("qla2xxx: Add selective command queuing")
* # v4.5.
Expand Down
4 changes: 2 additions & 2 deletions qla2x00t/Kbuild
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ccflags-y += -I$(src)/../scst/include -DDEFAULT_SYMBOL_NAMESPACE=QLA16GB
ccflags-y := -I$(src)/../scst/include

ifneq ($(CONFIG_SCSI_QLA2XXX_TARGET),)
ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET)
ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET)
endif

obj-m := qla2xxx_scst.o
Expand Down
4 changes: 2 additions & 2 deletions qla2x00t/qla2x00-target/qla2x00t.c
Original file line number Diff line number Diff line change
Expand Up @@ -7092,6 +7092,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_IMPORT_NS(SCST_NAMESPACE);
MODULE_IMPORT_NS(SCST_QLA16_NAMESPACE);
MODULE_VERSION(Q2T_VERSION_STRING);
3 changes: 3 additions & 0 deletions qla2x00t/qla_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
#include "qla2x_tgt.h"
#endif

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_QLA16_NAMESPACE

/*
* QLogic ISP2x00 Hardware Support Function Prototypes.
*/
Expand Down
4 changes: 4 additions & 0 deletions qla2x00t/qla_iocb.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
#include <scsi/scsi_tcq.h>

#include "qla2x_tgt.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_QLA16_NAMESPACE

static void qla25xx_set_que(srb_t *, struct rsp_que **);

/*
Expand Down
3 changes: 2 additions & 1 deletion qla2x00t/qla_mbx.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#include <linux/delay.h>
#include <linux/vmalloc.h>

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_QLA16_NAMESPACE

/*
* qla2x00_mailbox_command
Expand Down Expand Up @@ -5021,4 +5023,3 @@ qla2x00_port_logout(scsi_qla_host_t *vha, struct fc_port *fcport)

return rval;
}

3 changes: 3 additions & 0 deletions qla2x00t/qla_mid.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
#include "qla2x_tgt.h"
#endif

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_QLA16_NAMESPACE

void
qla2x00_vp_stop_timer(scsi_qla_host_t *vha)
{
Expand Down
3 changes: 3 additions & 0 deletions qla2x00t/qla_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
#include <scsi/scsi_transport.h>
#include <scsi/scsi_transport_fc.h>

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_QLA16_NAMESPACE

/*
* Driver version
*/
Expand Down
16 changes: 15 additions & 1 deletion scst/include/backport.h
Original file line number Diff line number Diff line change
Expand Up @@ -1003,7 +1003,21 @@ register_shrinker_backport(struct shrinker *shrinker, const char *fmt, ...)
#endif

/* <linux/module.h> */
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)

#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)
#define SCST_NAMESPACE SCST
#define SCST_QLA16_NAMESPACE QLA16GB
#define SCST_QLA32_NAMESPACE QLA32GB
#else
#define SCST_NAMESPACE "SCST"
#define SCST_QLA16_NAMESPACE "QLA16GB"
#define SCST_QLA32_NAMESPACE "QLA32GB"
#endif

#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
#define MODULE_IMPORT_NS_BACKPORT(ns) MODULE_IMPORT_NS(__stringify(ns))
#define MODULE_IMPORT_NS(ns) MODULE_IMPORT_NS_BACKPORT(ns)
#elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
#define MODULE_IMPORT_NS(ns)
#endif

Expand Down
10 changes: 4 additions & 6 deletions scst/src/Kbuild
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# See also Documentation/core-api/symbol-namespaces.rst for more information
# about DEFAULT_SYMBOL_NAMESPACE.
ccflags-y += -I$(src)/../include \
-DDEFAULT_SYMBOL_NAMESPACE=SCST \
$(shell [ -n "${CONFIG_SCST_NO_DLM}" ] && echo -DCONFIG_SCST_NO_DLM) \
$(shell [ -n "${REVISION}" ] && echo -DSCST_REVISION=${REVISION})
ccflags-y := -I$(src)/../include

ccflags-y += $(shell [ -n "${CONFIG_SCST_NO_DLM}" ] && echo -DCONFIG_SCST_NO_DLM) \
$(shell [ -n "${REVISION}" ] && echo -DSCST_REVISION=${REVISION})

#ccflags-y += -DCONFIG_SCST_STRICT_SERIALIZING
#ccflags-y += -DCONFIG_SCST_USE_EXPECTED_VALUES
Expand Down
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_cdrom.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_changer.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_disk.c
Original file line number Diff line number Diff line change
Expand Up @@ -750,4 +750,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_modisk.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,4 +317,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_processor.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_raid.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_tape.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,4 +338,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -4133,4 +4133,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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 1 addition & 1 deletion scst/src/dev_handlers/scst_vdisk.c
Original file line number Diff line number Diff line change
Expand Up @@ -9971,4 +9971,4 @@ MODULE_AUTHOR("Vladislav Bolkhovitin & Leonid Stoljar");
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);
MODULE_IMPORT_NS(SCST_NAMESPACE);
2 changes: 2 additions & 0 deletions scst/src/scst_copy_mgr.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
#include "scst_priv.h"
#include "scst_pres.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#define SCST_CM_NAME "copy_manager"
#define SCST_CM_TGT_NAME (SCST_CM_NAME "_tgt")
Expand Down
3 changes: 3 additions & 0 deletions scst/src/scst_debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@
#include "scst_debug.h"
#endif

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)

#define TRACE_BUF_SIZE 512
Expand Down
3 changes: 3 additions & 0 deletions scst/src/scst_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@

#include "scst_priv.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

static struct workqueue_struct *scst_event_wq;
static struct class *scst_event_sysfs_class;

Expand Down
3 changes: 3 additions & 0 deletions scst/src/scst_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@
#include "scst_mem.h"
#include "scst_pres.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

/* 8 byte ASCII Vendor */
#define SCST_NOLUN_VENDOR "SCST "

Expand Down
3 changes: 3 additions & 0 deletions scst/src/scst_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@
#include "scst_mem.h"
#include "scst_pres.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#if defined(CONFIG_HIGHMEM4G) || defined(CONFIG_HIGHMEM64G)
#warning HIGHMEM kernel configurations are fully supported, but not \
recommended for performance reasons. Consider changing VMSPLIT \
Expand Down
4 changes: 3 additions & 1 deletion scst/src/scst_mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
#include "scst_priv.h"
#include "scst_mem.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#define SGV_DEFAULT_PURGE_INTERVAL (60 * HZ)
#define SGV_MIN_SHRINK_INTERVAL (1 * HZ)

Expand Down Expand Up @@ -2165,4 +2168,3 @@ void scst_del_put_sgv_kobj(void)
kobject_put(scst_sgv_kobj);
scst_sgv_kobj = NULL;
}

3 changes: 3 additions & 0 deletions scst/src/scst_pres.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@
#include <linux/stdarg.h>
#endif

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#define SCST_PR_ROOT_ENTRY "pr"
#define SCST_PR_FILE_SIGN 0xBBEEEEAAEEBBDD77LLU
#define SCST_PR_FILE_VERSION 1LLU
Expand Down
3 changes: 3 additions & 0 deletions scst/src/scst_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
#include "scst_pres.h"
#include "scst_mem.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

#ifdef CONFIG_LOCKDEP
static struct lock_class_key scst_tgtt_key;
static struct lockdep_map scst_tgtt_dep_map =
Expand Down
3 changes: 3 additions & 0 deletions scst/src/scst_targ.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@
#include "scst_priv.h"
#include "scst_pres.h"

#undef DEFAULT_SYMBOL_NAMESPACE
#define DEFAULT_SYMBOL_NAMESPACE SCST_NAMESPACE

static void scst_cmd_set_sn(struct scst_cmd *cmd);
static int __scst_init_cmd(struct scst_cmd *cmd);
static struct scst_cmd *__scst_find_cmd_by_tag(struct scst_session *sess,
Expand Down
Loading

0 comments on commit f1f36d2

Please sign in to comment.