Re: [patch 2/17] Add a WARN() macro that acts like WARN_ON()+printk

From: Andrew Morton
Date: Fri Jul 11 2008 - 15:23:58 EST


On Tue, 8 Jul 2008 09:40:23 -0700 Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
>
> Add a WARN() macro that acts like WARN_ON(), with the added feature that it
> takes a printk like argument that is printed as part of the warning message.
>

Apart from a little whitespace tweak, this is identical to what I already had.

> +#define WARN_ONCE(condition, format...) ({ \
> + static int __warned; \
> + int __ret_warn_once = !!(condition); \
> + \
> + if (unlikely(__ret_warn_once)) \
> + if (WARN(!__warned, format)) \
> + __warned = 1; \
> + unlikely(__ret_warn_once); \
> +})

Except it adds this operation, without describing it at all in the
changelog.

Is this some brainfart, or am I missing something? I can see some sense in
a WARN_ONCE(format...), but not in a WARN_ONCE() which takes a `condition'
and should be called WARN_ON_ONCE(), which we already have.

As it appears that you didn't add any users of WARN_ONCE(), I shall
delicately step away from this patch.

More care, please?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/