diff options
author | Brian Behlendorf <[email protected]> | 2015-09-01 13:19:10 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-09-04 16:08:14 -0700 |
commit | 3b36f8319d56842c85782e7842218a7499f3cf16 (patch) | |
tree | dfb586465b239054d8cba80200059ea55882978f /include/sys/trace_dbgmsg.h | |
parent | 0500e835af3ea1f3abe27a572f7b2328b4cde386 (diff) |
Add dbgmsg kstat
Internally ZFS keeps a small log to facilitate debugging. By default
the log is disabled, to enable it set zfs_dbgmsg_enable=1. The contents
of the log can be accessed by reading the /proc/spl/kstat/zfs/dbgmsg file.
Writing 0 to this proc file clears the log.
$ echo 1 >/sys/module/zfs/parameters/zfs_dbgmsg_enable
$ echo 0 >/proc/spl/kstat/zfs/dbgmsg
$ zpool import tank
$ cat /proc/spl/kstat/zfs/dbgmsg
1 0 0x01 -1 0 2492357525542 2525836565501
timestamp message
1441141408 spa=tank async request task=1
1441141408 txg 70 open pool version 5000; software version 5000/5; ...
1441141409 spa=tank async request task=32
1441141409 txg 72 import pool version 5000; software version 5000/5; ...
1441141414 command: lt-zpool import tank
Note the zfs_dbgmsg() and dprintf() functions are both now mapped to
the same log. As mentioned above the kernel debug log can be accessed
though the /proc/spl/kstat/zfs/dbgmsg kstat. For user space consumers
log messages are immediately written to stdout after applying the
ZFS_DEBUG environment variable.
$ ZFS_DEBUG=on ./cmd/ztest/ztest -V
Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Ned Bass <[email protected]>
Closes #3728
Diffstat (limited to 'include/sys/trace_dbgmsg.h')
-rw-r--r-- | include/sys/trace_dbgmsg.h | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/include/sys/trace_dbgmsg.h b/include/sys/trace_dbgmsg.h index 24b34bcf3..e493a4580 100644 --- a/include/sys/trace_dbgmsg.h +++ b/include/sys/trace_dbgmsg.h @@ -37,32 +37,6 @@ */ /* - * Generic support for one argument tracepoints of the form: - * - * DTRACE_PROBE1(..., - * const char *, ...); - */ - -DECLARE_EVENT_CLASS(zfs_dbgmsg_class, - TP_PROTO(const char *msg), - TP_ARGS(msg), - TP_STRUCT__entry( - __string(msg, msg) - ), - TP_fast_assign( - __assign_str(msg, msg); - ), - TP_printk("%s", __get_str(msg)) -); - -#define DEFINE_DBGMSG_EVENT(name) \ -DEFINE_EVENT(zfs_dbgmsg_class, name, \ - TP_PROTO(const char *msg), \ - TP_ARGS(msg)) -DEFINE_DBGMSG_EVENT(zfs_zfs__dbgmsg); - - -/* * Generic support for four argument tracepoints of the form: * * DTRACE_PROBE4(..., |