mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-18 13:16:34 +00:00
Apparently the SCST code with debugging and/or tracing enabled compiles fine as
an external module. When applying the SCST kernel patch to the mainstream kernel tree with debugging and/or tracing enabled however, the resulting code triggers a compiler error. This is because the symbols DEBUG and TRACING conflict with symbols with the same named defined in unrelated kernel headers. The patch below resolves these conflicts by renaming the following preprocessor symbols: - DEBUG into CONFIG_SCST_DEBUG. - DEBUG_DIGEST_FAILURES into CONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES. - DEBUG_OOM into CONFIG_SCST_DEBUG_OOM. - DEBUG_RETRY into CONFIG_SCST_DEBUG_RETRY. - DEBUG_SN into CONFIG_SCST_DEBUG_SN. - DEBUG_TM into CONFIG_SCST_DEBUG_TM. - EXTRACHECKS into CONFIG_SCST_EXTRACHECKS. - SCST_HIGHMEM into CONFIG_SCST_HIGHMEM. - STRICT_SERIALIZING into CONFIG_SCST_STRICT_SERIALIZING. - TM_DBG_GO_OFFLINE into CONFIG_SCST_TM_DBG_GO_OFFLINE. Mapped 0/1 values into macro undefined / macro defined. - TRACING into CONFIG_SCST_TRACING. - USE_EXPECTED_VALUES into CONFIG_SCST_USE_EXPECTED_VALUES. - In qla_isp/linux/isp_scst.c, renamed DEBUG into DEBUG_ISP_SCST. - In qla_isp/..., renamed SCSI_TARGET in SCST_SCSI_TARGET. - In qla_isp/..., renamed SCSI_TARGET_DEV in SCST_SCSI_TARGET_DEV. Additionally, all CONFIG_SCSI_TARGET* macro's are renamed into CONFIG_SCST* in order to avoid confusion between the STGT CONFIG-symbols and the SCST CONFIG- symbols. The following additional options are now configurable through Kconfig: - CONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES - CONFIG_SCST_STRICT_SERIALIZING - CONFIG_SCST_STRICT_SECURITY - CONFIG_SCST_ALLOW_PASSTHROUGH_IO_SUBMIT_IN_SIRQ - CONFIG_SCST_ABORT_CONSIDER_FINISHED_TASKS_AS_NOT_EXISTING - CONFIG_SCST_USE_EXPECTED_VALUES - CONFIG_SCST_DEBUG_OOM - CONFIG_SCST_DEBUG_RETRY - CONFIG_SCST_DEBUG_SN - CONFIG_SCST_DEBUG_TM - CONFIG_SCST_TM_DBG_GO_OFFLINE The patch below has been verified as follows: - Verified that the following command does not print any new warning messages: make -s clean && make -C srpt -s clean && make -s scst iscsi-scst && make -C srpt -s - Verified as follows that the internal SCST patches still apply cleanly: for p in *patch; do patch -p0 --dry-run -f -s <$p; done - Checked that the patch generated by generate-kernel-patch still applies cleanly to the 2.6.25.7 kernel, and that the patched kernel tree still compiles, installs and boots fine, that the iscsi-scst, ib_srpt, scst_disk and scst_vdisk modules still load, and that iSCSI communication still works fine. All SCST kernel configuration options that could be enabled have been enabled during this test. Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com> git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@453 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
+3
-3
@@ -29,9 +29,9 @@ FUSION_INC_DIR := drivers/message/fusion
|
||||
|
||||
EXTRA_CFLAGS += -I$(SCST_INC_DIR) -I$(FUSION_INC_DIR) -Iinclude/scsi
|
||||
|
||||
EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DDEBUG
|
||||
EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING
|
||||
EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG
|
||||
#EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD
|
||||
|
||||
ifeq ($(KVER),)
|
||||
|
||||
@@ -2,9 +2,9 @@ SCST_INC_DIR := include/scst
|
||||
FUSION_INC_DIR := drivers/message/fusion
|
||||
EXTRA_CFLAGS += -I$(SCST_INC_DIR) -I$(FUSION_INC_DIR) -Iinclude/scsi
|
||||
|
||||
EXTRA_CFLAGS += -DEXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DTRACING
|
||||
EXTRA_CFLAGS += -DDEBUG
|
||||
EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS
|
||||
#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING
|
||||
EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG
|
||||
#EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD
|
||||
|
||||
obj-$(CONFIG_FUSION_SCST) += mpt_scst.o
|
||||
|
||||
+25
-25
@@ -44,14 +44,14 @@
|
||||
|
||||
#define MYNAM "mpt_scst"
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
static int trace_mpi = 0;
|
||||
|
||||
#define TRACE_MPI 0x80000000
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
static char *mpt_state_string[] = {
|
||||
"0",
|
||||
"new",
|
||||
@@ -63,12 +63,12 @@ static char *mpt_state_string[] = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
#define SCST_DEFAULT_MPT_LOG_FLAGS (TRACE_FUNCTION | TRACE_PID | \
|
||||
TRACE_OUT_OF_MEM | TRACE_MGMT | TRACE_MGMT_MINOR | \
|
||||
TRACE_MGMT_DEBUG | TRACE_MINOR | TRACE_SPECIAL)
|
||||
#else
|
||||
# ifdef TRACING
|
||||
# ifdef CONFIG_SCST_TRACING
|
||||
#define SCST_DEFAULT_MPT_LOG_FLAGS (TRACE_FUNCTION | TRACE_PID | \
|
||||
TRACE_OUT_OF_MEM | TRACE_MGMT | TRACE_MINOR | TRACE_SPECIAL)
|
||||
# endif
|
||||
@@ -126,11 +126,11 @@ static void stmapp_srr_process(MPT_STM_PRIV *priv, int rx_id, int r_ctl,
|
||||
u32 offset, LinkServiceBufferPostReply_t *rep, int index);
|
||||
static void stm_set_scsi_port_page1(MPT_STM_PRIV *priv, int sleep);
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
#define trace_flag mpt_trace_flag
|
||||
unsigned long mpt_trace_flag = TRACE_FUNCTION | TRACE_OUT_OF_MEM | TRACE_SPECIAL;
|
||||
#else
|
||||
# ifdef TRACING
|
||||
# ifdef CONFIG_SCST_TRACING
|
||||
#define trace_flag mpt_trace_flag
|
||||
unsigned long mpt_trace_flag = TRACE_OUT_OF_MEM | TRACE_MGMT | TRACE_SPECIAL;
|
||||
# endif
|
||||
@@ -475,7 +475,7 @@ _stm_target_command(MPT_STM_PRIV *priv, int reply_word,
|
||||
CMD *cmd;
|
||||
struct scst_cmd *scst_cmd;
|
||||
struct mpt_sess *sess = mpt_cmd->sess;
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
MPT_ADAPTER *ioc = priv->ioc;
|
||||
#endif
|
||||
/*
|
||||
@@ -1300,7 +1300,7 @@ mpt_send_tgt_data(MPT_STM_PRIV *priv, u32 reply_word,
|
||||
cpu_to_le32(MPI_SGE_SET_FLAGS(MPI_SGE_FLAGS_LAST_ELEMENT |
|
||||
MPI_SGE_FLAGS_END_OF_BUFFER |
|
||||
MPI_SGE_FLAGS_END_OF_LIST));
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)req;
|
||||
@@ -2793,7 +2793,7 @@ stm_link_service_reply(MPT_ADAPTER *ioc, LinkServiceBufferPostReply_t *rep)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)rep;
|
||||
@@ -2900,7 +2900,7 @@ stm_cmd_buf_post(MPT_STM_PRIV *priv, int index)
|
||||
|
||||
priv->io_state[index] |= IO_STATE_POSTED;
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi) {
|
||||
u32 *p = (u32 *)req;
|
||||
int i;
|
||||
@@ -2958,7 +2958,7 @@ stm_cmd_buf_post_base(MPT_STM_PRIV *priv,
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)req;
|
||||
@@ -2995,7 +2995,7 @@ stm_cmd_buf_post_list(MPT_STM_PRIV *priv,
|
||||
|
||||
priv->io_state[index] |= IO_STATE_POSTED;
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)req;
|
||||
@@ -3046,7 +3046,7 @@ stm_link_serv_buf_post(MPT_STM_PRIV *priv, int index)
|
||||
((u8 *)priv->hw->fc_link_serv_buf[index].fc_els - (u8 *)priv->hw);
|
||||
stm_set_dma_addr(sge_simple->Address, dma_addr);
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)req;
|
||||
@@ -3212,7 +3212,7 @@ stm_send_target_status(MPT_STM_PRIV *priv,
|
||||
}
|
||||
priv->io_state[index] |= IO_STATE_STATUS_SENT;
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)req;
|
||||
@@ -3269,7 +3269,7 @@ stm_send_els(MPT_STM_PRIV *priv,
|
||||
p_index = (int *)(sge_simple + 1);
|
||||
*p_index = index;
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)req;
|
||||
@@ -3406,7 +3406,7 @@ stm_target_mode_abort_all(MPT_STM_PRIV *priv)
|
||||
static int
|
||||
stm_target_mode_abort(MPT_STM_PRIV *priv)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
MPT_ADAPTER *ioc = priv->ioc;
|
||||
#endif
|
||||
int i;
|
||||
@@ -3794,7 +3794,7 @@ static int
|
||||
stm_scsi_configuration(MPT_STM_PRIV *priv,
|
||||
int sleep)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
MPT_ADAPTER *ioc = priv->ioc;
|
||||
#endif
|
||||
SCSIPortPage0_t *ScsiPort0;
|
||||
@@ -3875,7 +3875,7 @@ stm_scsi_configuration(MPT_STM_PRIV *priv,
|
||||
static void
|
||||
stm_set_scsi_port_page1(MPT_STM_PRIV *priv, int sleep)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
MPT_ADAPTER *ioc = priv->ioc;
|
||||
#endif
|
||||
SCSIPortPage1_t *ScsiPort1;
|
||||
@@ -4268,7 +4268,7 @@ stm_get_config_page(MPT_STM_PRIV *priv, int type, int number, int address,
|
||||
return (-1);
|
||||
}
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)priv->hw->config_buf;
|
||||
@@ -4375,7 +4375,7 @@ stm_set_config_page(MPT_STM_PRIV *priv,
|
||||
return (-1);
|
||||
}
|
||||
|
||||
#ifdef TRACING
|
||||
#ifdef CONFIG_SCST_TRACING
|
||||
if(trace_mpi)
|
||||
{
|
||||
u32 *p = (u32 *)priv->hw->config_buf;
|
||||
@@ -4837,7 +4837,7 @@ static void
|
||||
stmapp_abts_process(MPT_STM_PRIV *priv,
|
||||
int rx_id, LinkServiceBufferPostReply_t *rep, int index)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
MPT_ADAPTER *ioc = priv->ioc;
|
||||
#endif
|
||||
volatile int *io_state;
|
||||
@@ -4886,7 +4886,7 @@ static void
|
||||
stmapp_srr_process(MPT_STM_PRIV *priv, int rx_id, int r_ctl, u32 offset,
|
||||
LinkServiceBufferPostReply_t *rep, int index)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef CONFIG_SCST_DEBUG
|
||||
MPT_ADAPTER *ioc = priv->ioc;
|
||||
#endif
|
||||
FC_ELS *fc_els_buf;
|
||||
@@ -5450,7 +5450,7 @@ stmapp_set_sense_info(MPT_STM_PRIV *priv,
|
||||
TRACE_EXIT();
|
||||
}
|
||||
|
||||
#if defined(DEBUG) || defined(TRACING)
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
|
||||
#define MPT_PROC_LOG_ENTRY_NAME "trace_level"
|
||||
|
||||
@@ -5491,7 +5491,7 @@ static struct scst_proc_data mpt_log_proc_data = {
|
||||
static int mpt_proc_log_entry_build(struct scst_tgt_template *templ)
|
||||
{
|
||||
int res = 0;
|
||||
#if defined(DEBUG) || defined(TRACING)
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
struct proc_dir_entry *p, *root;
|
||||
|
||||
TRACE_ENTRY();
|
||||
@@ -5520,7 +5520,7 @@ out:
|
||||
|
||||
static void mpt_proc_log_entry_clean(struct scst_tgt_template *templ)
|
||||
{
|
||||
#if defined(DEBUG) || defined(TRACING)
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
struct proc_dir_entry *root;
|
||||
|
||||
TRACE_ENTRY();
|
||||
|
||||
Reference in New Issue
Block a user