Skip to contentSkip to conversation

scst: Move tracing to debugfs

SCSI Bart Van Assche 1 participant 2 messages Dec 23, 2010 – Dec 27, 2010 SCSI

lore
Share & tools
lore
#0 lore raw

The trace_level files created in sysfs by the SCST core are mostly used for debugging purposes, hence move these to debugfs. Also instead of using one file for all tracing flags of a driver use one file per tracing flag. An example of the new hierarchy:

main/tracing/buff
main/tracing/debug
main/tracing/flow_control
main/tracing/function
main/tracing/line
main/tracing/mem
main/tracing/mgmt
main/tracing/mgmt_dbg
main/tracing/minor
main/tracing/out_of_mem
main/tracing/pid
main/tracing/pr
main/tracing/recv_bot
main/tracing/recv_top
main/tracing/retry
main/tracing/scsi
main/tracing/scsi_serializing
main/tracing/send_bot
main/tracing/send_top
main/tracing/sg
main/tracing/special
target/scst_local/tracing/buff
target/scst_local/tracing/debug
target/scst_local/tracing/flow_control
target/scst_local/tracing/function
target/scst_local/tracing/line
target/scst_local/tracing/mem
target/scst_local/tracing/mgmt
target/scst_local/tracing/mgmt_dbg
target/scst_local/tracing/minor
target/scst_local/tracing/out_of_mem
target/scst_local/tracing/pid
target/scst_local/tracing/pr
target/scst_local/tracing/scsi
target/scst_local/tracing/sg
target/scst_local/tracing/special
tgt_dev/vdisk_fileio/tracing/buff
tgt_dev/vdisk_fileio/tracing/debug
tgt_dev/vdisk_fileio/tracing/flow_control
tgt_dev/vdisk_fileio/tracing/function
tgt_dev/vdisk_fileio/tracing/line
tgt_dev/vdisk_fileio/tracing/mem
tgt_dev/vdisk_fileio/tracing/mgmt
tgt_dev/vdisk_fileio/tracing/mgmt_dbg
tgt_dev/vdisk_fileio/tracing/minor
tgt_dev/vdisk_fileio/tracing/order
tgt_dev/vdisk_fileio/tracing/out_of_mem
tgt_dev/vdisk_fileio/tracing/pid
tgt_dev/vdisk_fileio/tracing/pr
tgt_dev/vdisk_fileio/tracing/scsi
tgt_dev/vdisk_fileio/tracing/sg
tgt_dev/vdisk_fileio/tracing/special

Cc Greg Kroah-Hartman <[email protected]>
Cc Vladislav Bolkhovitin <[email protected]>
Cc Richard Sharpe <[email protected]>
---
 drivers/scst/dev_handlers/scst_cdrom.c     |    6 +-
 drivers/scst/dev_handlers/scst_changer.c   |    6 +-
 drivers/scst/dev_handlers/scst_disk.c      |   12 +-
 drivers/scst/dev_handlers/scst_modisk.c    |   12 +-
 drivers/scst/dev_handlers/scst_processor.c |    6 +-
 drivers/scst/dev_handlers/scst_raid.c      |    6 +-
 drivers/scst/dev_handlers/scst_tape.c      |   12 +-
 drivers/scst/dev_handlers/scst_vdisk.c     |   38 +-
 drivers/scst/scst_local/scst_local.c       |    6 +-
 drivers/scst/scst_sysfs.c                  |  536 ++++++++++++----------------
 drivers/scst/srpt/ib_srpt.c                |    6 +-
 include/scst/scst.h                        |   45 ++--
 12 files changed, 328 insertions(+), 363 deletions(-)
drivers/scst/dev_handlers/scst_cdrom.c +4 -2
index 97f428f..72c606e 100644
@@ -51,8 +51,10 @@ static struct scst_dev_type cdrom_devtype = {
 	.parse =		cdrom_parse,
 	.dev_done =		cdrom_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_changer.c +4 -2
index 74d9c8e..645cfb4 100644
@@ -46,8 +46,10 @@ static struct scst_dev_type changer_devtype = {
 	.parse =	changer_parse,
 /*	.dev_done =	changer_done */
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_disk.c +8 -4
index b8d1190..39f221b 100644
@@ -63,8 +63,10 @@ static struct scst_dev_type disk_devtype = {
 	.on_sg_tablesize_low = disk_on_sg_tablesize_low,
 	.dev_done =		disk_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags = SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags = &trace_flag,
+	.trace_data = {
+		.default_trace_flags = SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags = &trace_flag,
+	},
 #endif
 };
 
@@ -80,8 +82,10 @@ static struct scst_dev_type disk_devtype_perf = {
 	.dev_done =		disk_done,
 	.on_sg_tablesize_low = disk_on_sg_tablesize_low,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_modisk.c +8 -4
index 90e6609..50ecfa4 100644
@@ -57,8 +57,10 @@ static struct scst_dev_type modisk_devtype = {
 	.parse =		modisk_parse,
 	.dev_done =		modisk_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
@@ -73,8 +75,10 @@ static struct scst_dev_type modisk_devtype_perf = {
 	.dev_done =		modisk_done,
 	.exec =			modisk_perf_exec,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_processor.c +4 -2
index 91158d1..f6872cf 100644
@@ -46,8 +46,10 @@ static struct scst_dev_type processor_devtype = {
 	.parse =		processor_parse,
 /*	.dev_done =		processor_done*/
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_raid.c +4 -2
index 241eb8d..6bc4e5d 100644
@@ -46,8 +46,10 @@ static struct scst_dev_type raid_devtype = {
 	.parse =		raid_parse,
 /*	.dev_done =		raid_done,*/
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_tape.c +8 -4
index 1109b02..172847e 100644
@@ -62,8 +62,10 @@ static struct scst_dev_type tape_devtype = {
 	.parse =		tape_parse,
 	.dev_done =		tape_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
@@ -78,8 +80,10 @@ static struct scst_dev_type tape_devtype_perf = {
 	.dev_done =		tape_done,
 	.exec =			tape_perf_exec,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_vdisk.c +20 -18
index b951057..0700c60 100644
@@ -57,8 +57,6 @@ static struct scst_trace_log vdisk_local_trace_tbl[] = {
 };
 #define trace_log_tbl			vdisk_local_trace_tbl
 
-#define VDISK_TRACE_TLB_HELP	", order"
-
 #endif
 
 #include "scst_dev_handler.h"
@@ -426,10 +424,11 @@ static struct scst_dev_type vdisk_file_devtype = {
 	.dev_attrs =		vdisk_fileio_attrs,
 	.add_device_parameters = vdisk_fileio_add_device_parameters,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
@@ -458,10 +457,11 @@ static struct scst_dev_type vdisk_blk_devtype = {
 	.dev_attrs =		vdisk_blockio_attrs,
 	.add_device_parameters = vdisk_blockio_add_device_parameters,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
@@ -487,10 +487,11 @@ static struct scst_dev_type vdisk_null_devtype = {
 	.dev_attrs =		vdisk_nullio_attrs,
 	.add_device_parameters = vdisk_nullio_add_device_parameters,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
@@ -514,10 +515,11 @@ static struct scst_dev_type vcdrom_devtype = {
 	.dev_attrs =		vcdrom_attrs,
 	.add_device_parameters = NULL,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
drivers/scst/scst_local/scst_local.c +4 -2
index c84c08e..14c8fd9 100644
@@ -1089,8 +1089,10 @@ static struct scst_tgt_template scst_local_targ_tmpl = {
 	.get_scsi_transport_version = scst_local_get_scsi_transport_version,
 	.get_phys_transport_version = scst_local_get_phys_transport_version,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags = SCST_LOCAL_DEFAULT_LOG_FLAGS,
-	.trace_flags = &trace_flag,
+	.trace_data = {
+		.default_trace_flags = SCST_LOCAL_DEFAULT_LOG_FLAGS,
+		.trace_flags = &trace_flag,
+	},
 #endif
 };
 
drivers/scst/scst_sysfs.c +237 -299

682 lines not on this page · raw message

drivers/scst/srpt/ib_srpt.c +4 -2
index 6d45cf4..be3ed5d 100644
@@ -3313,8 +3313,10 @@ static struct scst_tgt_template srpt_template = {
 	.tgt_attrs			 = srpt_tgt_attrs,
 	.sess_attrs			 = srpt_sess_attrs,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags		 = DEFAULT_SRPT_TRACE_FLAGS,
-	.trace_flags			 = &trace_flag,
+	.trace_data = {
+		.default_trace_flags		 = DEFAULT_SRPT_TRACE_FLAGS,
+		.trace_flags			 = &trace_flag,
+	},
 #endif
 	.detect				 = srpt_detect,
 	.release			 = srpt_release,
include/scst/scst.h +23 -22

69 lines not on this page · raw message

Signature · 1 line
1.7.1
#1 lore raw
Quoted 2 lines · On Thursday 23 December 2010 16:15:11 Bart Van Assche wrote:

The trace_level files created in sysfs by the SCST core are mostly used for debugging purposes, hence move these to debugfs.

[ ... ]

Note: this patch has been reworked such that not only the trace_level files are moved from sysfs to debugfs but also the dump_pr file is moved (a trigger to dump persistent reservation debug info) and such that there are no more tests on the preprocessor symbols CONFIG_SCST_TRACING / CONFIG_SCST_DEBUG in scst_sysfs.c:

[PATCH] [SCSI] scst: Move tracing to debugfs

The trace_level and dump_pr files created in sysfs by the SCST core are mostly used for debugging purposes, hence move these to debugfs. Also instead of using one file for all tracing flags of a driver use one file per tracing flag. An example of the new hierarchy:

$ cd /sys/kernel/debug/scst && find -type f | cut -c3- | sort
device/disk01/dump_pr
device/disk02/dump_pr
device/disk03/dump_pr
device/disk04/dump_pr
device/disk05/dump_pr
device/disk06/dump_pr
device/disk07/dump_pr
device/disk08/dump_pr
device/disk09/dump_pr
device/disk10/dump_pr
device/disk11/dump_pr
device_type/dev_disk/tracing/buff
device_type/dev_disk/tracing/debug
device_type/dev_disk/tracing/flow_control
device_type/dev_disk/tracing/function
device_type/dev_disk/tracing/line
device_type/dev_disk/tracing/mem
device_type/dev_disk/tracing/mgmt
device_type/dev_disk/tracing/mgmt_dbg
device_type/dev_disk/tracing/minor
device_type/dev_disk/tracing/out_of_mem
device_type/dev_disk/tracing/pid
device_type/dev_disk/tracing/pr
device_type/dev_disk/tracing/scsi
device_type/dev_disk/tracing/sg
device_type/dev_disk/tracing/special
device_type/dev_disk_perf/tracing/buff
device_type/dev_disk_perf/tracing/debug
device_type/dev_disk_perf/tracing/flow_control
device_type/dev_disk_perf/tracing/function
device_type/dev_disk_perf/tracing/line
device_type/dev_disk_perf/tracing/mem
device_type/dev_disk_perf/tracing/mgmt
device_type/dev_disk_perf/tracing/mgmt_dbg
device_type/dev_disk_perf/tracing/minor
device_type/dev_disk_perf/tracing/out_of_mem
device_type/dev_disk_perf/tracing/pid
device_type/dev_disk_perf/tracing/pr
device_type/dev_disk_perf/tracing/scsi
device_type/dev_disk_perf/tracing/sg
device_type/dev_disk_perf/tracing/special
device_type/vcdrom/tracing/buff
device_type/vcdrom/tracing/debug
device_type/vcdrom/tracing/flow_control
device_type/vcdrom/tracing/function
device_type/vcdrom/tracing/line
device_type/vcdrom/tracing/mem
device_type/vcdrom/tracing/mgmt
device_type/vcdrom/tracing/mgmt_dbg
device_type/vcdrom/tracing/minor
device_type/vcdrom/tracing/order
device_type/vcdrom/tracing/out_of_mem
device_type/vcdrom/tracing/pid
device_type/vcdrom/tracing/pr
device_type/vcdrom/tracing/scsi
device_type/vcdrom/tracing/sg
device_type/vcdrom/tracing/special
device_type/vdisk_blockio/tracing/buff
device_type/vdisk_blockio/tracing/debug
device_type/vdisk_blockio/tracing/flow_control
device_type/vdisk_blockio/tracing/function
device_type/vdisk_blockio/tracing/line
device_type/vdisk_blockio/tracing/mem
device_type/vdisk_blockio/tracing/mgmt
device_type/vdisk_blockio/tracing/mgmt_dbg
device_type/vdisk_blockio/tracing/minor
device_type/vdisk_blockio/tracing/order
device_type/vdisk_blockio/tracing/out_of_mem
device_type/vdisk_blockio/tracing/pid
device_type/vdisk_blockio/tracing/pr
device_type/vdisk_blockio/tracing/scsi
device_type/vdisk_blockio/tracing/sg
device_type/vdisk_blockio/tracing/special
device_type/vdisk_fileio/tracing/buff
device_type/vdisk_fileio/tracing/debug
device_type/vdisk_fileio/tracing/flow_control
device_type/vdisk_fileio/tracing/function
device_type/vdisk_fileio/tracing/line
device_type/vdisk_fileio/tracing/mem
device_type/vdisk_fileio/tracing/mgmt
device_type/vdisk_fileio/tracing/mgmt_dbg
device_type/vdisk_fileio/tracing/minor
device_type/vdisk_fileio/tracing/order
device_type/vdisk_fileio/tracing/out_of_mem
device_type/vdisk_fileio/tracing/pid
device_type/vdisk_fileio/tracing/pr
device_type/vdisk_fileio/tracing/scsi
device_type/vdisk_fileio/tracing/sg
device_type/vdisk_fileio/tracing/special
device_type/vdisk_nullio/tracing/buff
device_type/vdisk_nullio/tracing/debug
device_type/vdisk_nullio/tracing/flow_control
device_type/vdisk_nullio/tracing/function
device_type/vdisk_nullio/tracing/line
device_type/vdisk_nullio/tracing/mem
device_type/vdisk_nullio/tracing/mgmt
device_type/vdisk_nullio/tracing/mgmt_dbg
device_type/vdisk_nullio/tracing/minor
device_type/vdisk_nullio/tracing/order
device_type/vdisk_nullio/tracing/out_of_mem
device_type/vdisk_nullio/tracing/pid
device_type/vdisk_nullio/tracing/pr
device_type/vdisk_nullio/tracing/scsi
device_type/vdisk_nullio/tracing/sg
device_type/vdisk_nullio/tracing/special
main/tracing/buff
main/tracing/debug
main/tracing/flow_control
main/tracing/function
main/tracing/line
main/tracing/mem
main/tracing/mgmt
main/tracing/mgmt_dbg
main/tracing/minor
main/tracing/out_of_mem
main/tracing/pid
main/tracing/pr
main/tracing/recv_bot
main/tracing/recv_top
main/tracing/retry
main/tracing/scsi
main/tracing/scsi_serializing
main/tracing/send_bot
main/tracing/send_top
main/tracing/sg
main/tracing/special
target/scst_local/tracing/buff
target/scst_local/tracing/debug
target/scst_local/tracing/flow_control
target/scst_local/tracing/function
target/scst_local/tracing/line
target/scst_local/tracing/mem
target/scst_local/tracing/mgmt
target/scst_local/tracing/mgmt_dbg
target/scst_local/tracing/minor
target/scst_local/tracing/out_of_mem
target/scst_local/tracing/pid
target/scst_local/tracing/pr
target/scst_local/tracing/scsi
target/scst_local/tracing/sg
target/scst_local/tracing/special
---
 drivers/scst/Kconfig                       |    4 +-
 drivers/scst/Makefile                      |    2 +
 drivers/scst/dev_handlers/scst_cdrom.c     |    6 +-
 drivers/scst/dev_handlers/scst_changer.c   |    6 +-
 drivers/scst/dev_handlers/scst_disk.c      |   12 +-
 drivers/scst/dev_handlers/scst_modisk.c    |   12 +-
 drivers/scst/dev_handlers/scst_processor.c |    6 +-
 drivers/scst/dev_handlers/scst_raid.c      |    6 +-
 drivers/scst/dev_handlers/scst_tape.c      |   12 +-
 drivers/scst/dev_handlers/scst_vdisk.c     |   38 ++--
 drivers/scst/scst_local/scst_local.c       |    6 +-
 drivers/scst/scst_sysfs.c                  |  443 +++-------------------------
 drivers/scst/scst_tracing.c                |  369 +++++++++++++++++++++++
 drivers/scst/scst_tracing.h                |   63 ++++
 drivers/scst/srpt/ib_srpt.c                |    6 +-
 include/scst/scst.h                        |   49 ++--
 16 files changed, 577 insertions(+), 463 deletions(-)
 create mode 100644 drivers/scst/scst_tracing.c
 create mode 100644 drivers/scst/scst_tracing.h
drivers/scst/Kconfig +2 -2
index 2d0a595..2132b3f 100644
@@ -151,7 +151,7 @@ config SCST_EXTRACHECKS
 
 config SCST_TRACING
 	bool "Tracing support"
-	depends on SCST
+	depends on SCST && DEBUG_FS
 	default y
 	help
 	  Enable SCSI middle level tracing support. Tracing can be controlled
@@ -163,7 +163,7 @@ config SCST_TRACING
 
 config SCST_DEBUG
 	bool "Debugging support"
-	depends on SCST
+	depends on SCST && DEBUG_FS
 	select DEBUG_BUGVERBOSE
 	help
 	  Enables support for debugging SCST. This may be helpful for SCST
drivers/scst/Makefile +2 -0
index 139df8b..38b3f4e 100644
@@ -7,5 +7,7 @@ scst-y        += scst_lib.o
 scst-y        += scst_sysfs.o
 scst-y        += scst_mem.o
 scst-y        += scst_debug.o
+scst-$(CONFIG_SCST_DEBUG)	+= scst_tracing.o
+scst-$(CONFIG_SCST_TRACING)	+= scst_tracing.o
 
 obj-$(CONFIG_SCST)   += scst.o dev_handlers/ scst_local/ srpt/
drivers/scst/dev_handlers/scst_cdrom.c +4 -2
index 97f428f..72c606e 100644
@@ -51,8 +51,10 @@ static struct scst_dev_type cdrom_devtype = {
 	.parse =		cdrom_parse,
 	.dev_done =		cdrom_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_changer.c +4 -2
index 74d9c8e..645cfb4 100644
@@ -46,8 +46,10 @@ static struct scst_dev_type changer_devtype = {
 	.parse =	changer_parse,
 /*	.dev_done =	changer_done */
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_disk.c +8 -4
index b8d1190..39f221b 100644
@@ -63,8 +63,10 @@ static struct scst_dev_type disk_devtype = {
 	.on_sg_tablesize_low = disk_on_sg_tablesize_low,
 	.dev_done =		disk_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags = SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags = &trace_flag,
+	.trace_data = {
+		.default_trace_flags = SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags = &trace_flag,
+	},
 #endif
 };
 
@@ -80,8 +82,10 @@ static struct scst_dev_type disk_devtype_perf = {
 	.dev_done =		disk_done,
 	.on_sg_tablesize_low = disk_on_sg_tablesize_low,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_modisk.c +8 -4
index 90e6609..50ecfa4 100644
@@ -57,8 +57,10 @@ static struct scst_dev_type modisk_devtype = {
 	.parse =		modisk_parse,
 	.dev_done =		modisk_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
@@ -73,8 +75,10 @@ static struct scst_dev_type modisk_devtype_perf = {
 	.dev_done =		modisk_done,
 	.exec =			modisk_perf_exec,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_processor.c +4 -2
index 91158d1..f6872cf 100644
@@ -46,8 +46,10 @@ static struct scst_dev_type processor_devtype = {
 	.parse =		processor_parse,
 /*	.dev_done =		processor_done*/
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_raid.c +4 -2
index 241eb8d..6bc4e5d 100644
@@ -46,8 +46,10 @@ static struct scst_dev_type raid_devtype = {
 	.parse =		raid_parse,
 /*	.dev_done =		raid_done,*/
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_tape.c +8 -4
index 1109b02..172847e 100644
@@ -62,8 +62,10 @@ static struct scst_dev_type tape_devtype = {
 	.parse =		tape_parse,
 	.dev_done =		tape_done,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
@@ -78,8 +80,10 @@ static struct scst_dev_type tape_devtype_perf = {
 	.dev_done =		tape_done,
 	.exec =			tape_perf_exec,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+	},
 #endif
 };
 
drivers/scst/dev_handlers/scst_vdisk.c +20 -18
index b951057..0700c60 100644
@@ -57,8 +57,6 @@ static struct scst_trace_log vdisk_local_trace_tbl[] = {
 };
 #define trace_log_tbl			vdisk_local_trace_tbl
 
-#define VDISK_TRACE_TLB_HELP	", order"
-
 #endif
 
 #include "scst_dev_handler.h"
@@ -426,10 +424,11 @@ static struct scst_dev_type vdisk_file_devtype = {
 	.dev_attrs =		vdisk_fileio_attrs,
 	.add_device_parameters = vdisk_fileio_add_device_parameters,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
@@ -458,10 +457,11 @@ static struct scst_dev_type vdisk_blk_devtype = {
 	.dev_attrs =		vdisk_blockio_attrs,
 	.add_device_parameters = vdisk_blockio_add_device_parameters,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
@@ -487,10 +487,11 @@ static struct scst_dev_type vdisk_null_devtype = {
 	.dev_attrs =		vdisk_nullio_attrs,
 	.add_device_parameters = vdisk_nullio_add_device_parameters,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
@@ -514,10 +515,11 @@ static struct scst_dev_type vcdrom_devtype = {
 	.dev_attrs =		vcdrom_attrs,
 	.add_device_parameters = NULL,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
-	.trace_flags =		&trace_flag,
-	.trace_tbl =		vdisk_local_trace_tbl,
-	.trace_tbl_help =	VDISK_TRACE_TLB_HELP,
+	.trace_data = {
+		.default_trace_flags =	SCST_DEFAULT_DEV_LOG_FLAGS,
+		.trace_flags =		&trace_flag,
+		.trace_tbl =		vdisk_local_trace_tbl,
+	},
 #endif
 };
 
drivers/scst/scst_local/scst_local.c +4 -2
index c84c08e..14c8fd9 100644
@@ -1089,8 +1089,10 @@ static struct scst_tgt_template scst_local_targ_tmpl = {
 	.get_scsi_transport_version = scst_local_get_scsi_transport_version,
 	.get_phys_transport_version = scst_local_get_phys_transport_version,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags = SCST_LOCAL_DEFAULT_LOG_FLAGS,
-	.trace_flags = &trace_flag,
+	.trace_data = {
+		.default_trace_flags = SCST_LOCAL_DEFAULT_LOG_FLAGS,
+		.trace_flags = &trace_flag,
+	},
 #endif
 };
 
drivers/scst/scst_sysfs.c +46 -397

581 lines not on this page · raw message

drivers/scst/scst_tracing.c new file +369 -0

369 lines not on this page · raw message

drivers/scst/scst_tracing.h new file +63 -0

63 lines not on this page · raw message

drivers/scst/srpt/ib_srpt.c +4 -2
index 2c31edd..28f860f 100644
@@ -3313,8 +3313,10 @@ static struct scst_tgt_template srpt_template = {
 	.tgt_attrs			 = srpt_tgt_attrs,
 	.sess_attrs			 = srpt_sess_attrs,
 #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
-	.default_trace_flags		 = DEFAULT_SRPT_TRACE_FLAGS,
-	.trace_flags			 = &trace_flag,
+	.trace_data = {
+		.default_trace_flags		 = DEFAULT_SRPT_TRACE_FLAGS,
+		.trace_flags			 = &trace_flag,
+	},
 #endif
 	.detect				 = srpt_detect,
 	.release			 = srpt_release,
include/scst/scst.h +27 -22

79 lines not on this page · raw message

Signature · 1 line
1.7.1