| #undef TRACE_SYSTEM | |
| #define TRACE_SYSTEM iscsi | |
| #if !defined(_TRACE_ISCSI_H) || defined(TRACE_HEADER_MULTI_READ) | |
| #define _TRACE_ISCSI_H | |
| #include <linux/tracepoint.h> | |
| /* max debug message length */ | |
| #define ISCSI_MSG_MAX 256 | |
| /* | |
| * Declare tracepoint helper function. | |
| */ | |
| void iscsi_dbg_trace(void (*trace)(struct device *dev, struct va_format *), | |
| struct device *dev, const char *fmt, ...); | |
| /* | |
| * Declare event class for iscsi debug messages. | |
| */ | |
| DECLARE_EVENT_CLASS(iscsi_log_msg, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf), | |
| TP_STRUCT__entry( | |
| __string(dname, dev_name(dev) ) | |
| __dynamic_array(char, msg, ISCSI_MSG_MAX ) | |
| ), | |
| TP_fast_assign( | |
| __assign_str(dname, dev_name(dev)); | |
| vsnprintf(__get_str(msg), ISCSI_MSG_MAX, vaf->fmt, *vaf->va); | |
| ), | |
| TP_printk("%s: %s",__get_str(dname), __get_str(msg) | |
| ) | |
| ); | |
| /* | |
| * Define event to capture iscsi connection debug messages. | |
| */ | |
| DEFINE_EVENT(iscsi_log_msg, iscsi_dbg_conn, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf) | |
| ); | |
| /* | |
| * Define event to capture iscsi session debug messages. | |
| */ | |
| DEFINE_EVENT(iscsi_log_msg, iscsi_dbg_session, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf) | |
| ); | |
| /* | |
| * Define event to capture iscsi error handling debug messages. | |
| */ | |
| DEFINE_EVENT(iscsi_log_msg, iscsi_dbg_eh, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf) | |
| ); | |
| /* | |
| * Define event to capture iscsi tcp debug messages. | |
| */ | |
| DEFINE_EVENT(iscsi_log_msg, iscsi_dbg_tcp, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf) | |
| ); | |
| /* | |
| * Define event to capture iscsi sw tcp debug messages. | |
| */ | |
| DEFINE_EVENT(iscsi_log_msg, iscsi_dbg_sw_tcp, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf) | |
| ); | |
| /* | |
| * Define event to capture iscsi transport session debug messages. | |
| */ | |
| DEFINE_EVENT(iscsi_log_msg, iscsi_dbg_trans_session, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf) | |
| ); | |
| /* | |
| * Define event to capture iscsi transport connection debug messages. | |
| */ | |
| DEFINE_EVENT(iscsi_log_msg, iscsi_dbg_trans_conn, | |
| TP_PROTO(struct device *dev, struct va_format *vaf), | |
| TP_ARGS(dev, vaf) | |
| ); | |
| #endif /* _TRACE_ISCSI_H */ | |
| /* This part must be outside protection */ | |
| #include <trace/define_trace.h> |