translate INVARIANTS to DEBUG for code from OpenSolaris

Matthew Ahrens mahrens at delphix.com
Mon Jul 29 18:47:16 UTC 2013


>From my perspective (working primarily with the OpenSolaris / illumos
code), this approach makes sense.

--matt


On Mon, Jul 29, 2013 at 7:24 AM, Andriy Gapon <avg at freebsd.org> wrote:

> [zfs-devel@, fs@, dtrace@ are Bcc-ed]
>
> In OpenSolaris and its descendants DEBUG is used in a fashion similar to
> our
> INVARIANTS.  For example, ASSERT macros are enabled by it.
> In our kernel code DEBUG has a different meaning and enables far too
> verbose or
> far too obscure code and, as such, it is very rarely enabled.
>
> The idea of a change that I would like to propose is to translate
> INVARIANTS
> kernel option into DEBUG for the files that originated from OpenSolaris
> (and
> hopefully only for them).
>
> The change:
>     opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUG
>
>     do this by forcing inclusion of
>     sys/cddl/compat/opensolaris/sys/debug_compat.h
>     via -include option into all source files from OpenSolaris.
>     Note that this -include option must always be after -include
> opt_global.h.
>
>     Additionally, remove forced definition of DEBUG for some modules and
> fix
>     their build without DEBUG.
>
>     Also, meaning of DEBUG was overloaded to enable WITNESS support for
> some
>     OpenSolaris (primarily ZFS) locks.  Now this overloading is removed and
>     that use of DEBUG is replaced with a new option OPENSOLARIS_WITNESS.
>
> http://people.freebsd.org/~avg/osol-invariants-debug.diff
>
> I would like to ask for your feedback on the soundness of the whole idea.
> Also on the name, location and style of inclusion for
> sys/cddl/compat/opensolaris/sys/debug_compat.h.
> And on any other details of the proposed change.
>
> Testing is also welcome, of course.
>
> Thank you very much.
> --
> Andriy Gapon
>
> _______________________________________________
> freebsd-dtrace at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace
> To unsubscribe, send any mail to "freebsd-dtrace-unsubscribe at freebsd.org"
>


More information about the freebsd-arch mailing list