• Dave Chinner's avatar
    xfs: introduce CONFIG_XFS_WARN · 742ae1e3
    Dave Chinner authored
    Running a CONFIG_XFS_DEBUG kernel in production environments is not
    the best idea as it introduces significant overhead, can change
    the behaviour of algorithms (such as allocation) to improve test
    coverage, and (most importantly) panic the machine on non-fatal
    errors.
    
    There are many cases where all we want to do is run a
    kernel with more bounds checking enabled, such as is provided by the
    ASSERT() statements throughout the code, but without all the
    potential overhead and drawbacks.
    
    This patch converts all the ASSERT statements to evaluate as
    WARN_ON(1) statements and hence if they fail dump a warning and a
    stack trace to the log. This has minimal overhead and does not
    change any algorithms, and will allow us to find strange "out of
    bounds" problems more easily on production machines.
    
    There are a few places where assert statements contain debug only
    code. These are converted to be debug-or-warn only code so that we
    still get all the assert checks in the code.
    Signed-off-by: 's avatarDave Chinner <dchinner@redhat.com>
    Reviewed-by: 's avatarBrian Foster <bfoster@redhat.com>
    Signed-off-by: 's avatarBen Myers <bpm@sgi.com>
    742ae1e3