[DCCP]: Introduce a consistent BUG/WARN message scheme

This refines the existing set of DCCP messages so that 
        * BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific
          counterparts
        * DCCP_CRIT (for severe warnings) is not rate-limited
        * DCCP_WARN() is introduced as rate-limited wrapper

Using these allows a faster and cleaner transition to their original 
counterparts once the code has matured into a full DCCP implementation.

Signed-off-by: Gerrit Renker <[EMAIL PROTECTED]>        
---
 net/dccp/dccp.h |   18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

--- a/net/dccp/dccp.h
+++ b/net/dccp/dccp.h
@@ -18,13 +18,19 @@
 #include <net/tcp.h>
 #include "ackvec.h"
 
-#define DCCP_CRIT(fmt, a...) LIMIT_NETDEBUG(KERN_CRIT fmt " at %s:%d/%s()\n",  
\
-                                        ##a, __FILE__, __LINE__, __FUNCTION__)
-#define DCCP_BUG(fmt, a...)  do { DCCP_CRIT(fmt, ##a); dump_stack(); } while 
(0)
-#define DCCP_BUG_ON(cond)    do { if (unlikely((cond) == 0))                   
\
-                                       DCCP_BUG("BUG: condition \"%s\" fails",\
-                                                __stringify((cond)));         \
+/*
+ *     DCCP - specific warning and debugging macros.
+ */
+#define DCCP_WARN(fmt, a...) LIMIT_NETDEBUG(KERN_WARNING "%s: " fmt,       \
+                                                       __FUNCTION__, ##a)
+#define DCCP_CRIT(fmt, a...) printk(KERN_CRIT fmt " at %s:%d/%s()\n", ##a, \
+                                        __FILE__, __LINE__, __FUNCTION__)
+#define DCCP_BUG(a...)       do { DCCP_CRIT("BUG: " a); dump_stack(); } 
while(0)
+#define DCCP_BUG_ON(cond)    do { if (unlikely((cond) != 0))              \
+                                    DCCP_BUG("\"%s\" holds (exception!)", \
+                                             __stringify(cond));          \
                             } while (0)
+#define DCCP_WARN_ON(cond)   DCCP_BUG_ON((cond))
 
 #ifdef MODULE
 #define DCCP_PRINTK(enable, fmt, args...)      do { if (enable)             \
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to