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 /cmd | |
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 'cmd')
-rw-r--r-- | cmd/ztest/ztest.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/cmd/ztest/ztest.c b/cmd/ztest/ztest.c index f2ffcaf3e..afe6faab0 100644 --- a/cmd/ztest/ztest.c +++ b/cmd/ztest/ztest.c @@ -827,9 +827,6 @@ ztest_kill(ztest_shared_t *zs) spa_config_sync(ztest_spa, B_FALSE, B_FALSE); mutex_exit(&spa_namespace_lock); - if (ztest_opts.zo_verbose >= 3) - zfs_dbgmsg_print(FTAG); - (void) kill(getpid(), SIGKILL); } @@ -5894,9 +5891,6 @@ ztest_run(ztest_shared_t *zs) zs->zs_alloc = metaslab_class_get_alloc(spa_normal_class(spa)); zs->zs_space = metaslab_class_get_space(spa_normal_class(spa)); - if (ztest_opts.zo_verbose >= 3) - zfs_dbgmsg_print(FTAG); - umem_free(tid, ztest_opts.zo_threads * sizeof (kt_did_t)); /* Kill the resume thread */ |