]> granicus.if.org Git - spl/commit
Split <sys/debug.h> header
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 19 Jul 2010 21:16:05 +0000 (14:16 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 20 Jul 2010 20:29:35 +0000 (13:29 -0700)
commit55abb0929e4fbe326a9737650a167a1a988ad86b
tree7fa8db9d12b4416f7f7e8e21cde864b501303924
parent8f813bb168eb21cd5d64b930ee015dcf93575331
Split <sys/debug.h> header

To avoid symbol conflicts with dependent packages the debug
header must be split in to several parts.  The <sys/debug.h>
header now only contains the Solaris macro's such as ASSERT
and VERIFY.  The spl-debug.h header contain the spl specific
debugging infrastructure and should be included by any package
which needs to use the spl logging.  Finally the spl-trace.h
header contains internal data structures only used for the log
facility and should not be included by anythign by spl-debug.c.

This way dependent packages can include the standard Solaris
headers without picking up any SPL debug macros.  However, if
the dependant package want to integrate with the SPL debugging
subsystem they can then explicitly include spl-debug.h.

Along with this change I have dropped the CHECK_STACK macros
because the upstream Linux kernel now has much better stack
depth checking built in and we don't need this complexity.

Additionally SBUG has been replaced with PANIC and provided as
part of the Solaris macro set.  While the Solaris version is
really panic() that conflicts with the Linux kernel so we'll
just have to make due to PANIC.  It should rarely be called
directly, the prefered usage would be an ASSERT or VERIFY.

There's lots of change here but this cleanup was overdue.
25 files changed:
include/linux/file_compat.h
include/spl-debug.h [new file with mode: 0644]
include/spl-trace.h [new file with mode: 0644]
include/sys/debug.h
include/sys/kmem.h
include/sys/rwlock.h
include/sys/signal.h
include/sys/sunddi.h
include/sys/thread.h
module/spl/spl-condvar.c
module/spl/spl-debug.c
module/spl/spl-err.c
module/spl/spl-generic.c
module/spl/spl-kmem.c
module/spl/spl-kobj.c
module/spl/spl-kstat.c
module/spl/spl-module.c
module/spl/spl-proc.c
module/spl/spl-taskq.c
module/spl/spl-thread.c
module/spl/spl-vnode.c
module/spl/spl-xdr.c
module/splat/splat-atomic.c
module/splat/splat-internal.h
scripts/check.sh