2007-11-29 20:54:09

by Andrew Morton

[permalink] [raw]
Subject: [patch 2/8] jbd2: remove printk() from J_ASSERT macros

From: Chris Snook <[email protected]>

Remove printk from J_ASSERT to preserve registers during BUG.

Signed-off-by: Chris Snook <[email protected]>
Cc: "Stephen C. Tweedie" <[email protected]>
Cc: Theodore Ts'o <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

include/linux/jbd2.h | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)

diff -puN include/linux/jbd2.h~jbd2-remove-printk-from-j_assert-macros include/linux/jbd2.h
--- a/include/linux/jbd2.h~jbd2-remove-printk-from-j_assert-macros
+++ a/include/linux/jbd2.h
@@ -283,17 +283,7 @@ typedef struct journal_superblock_s
#include <linux/fs.h>
#include <linux/sched.h>

-#define JBD2_ASSERTIONS
-#ifdef JBD2_ASSERTIONS
-#define J_ASSERT(assert) \
-do { \
- if (!(assert)) { \
- printk (KERN_EMERG \
- "Assertion failure in %s() at %s:%d: \"%s\"\n", \
- __FUNCTION__, __FILE__, __LINE__, # assert); \
- BUG(); \
- } \
-} while (0)
+#define J_ASSERT(assert) BUG_ON(!(assert))

#if defined(CONFIG_BUFFER_DEBUG)
void buffer_assertion_failure(struct buffer_head *bh);
@@ -309,10 +299,6 @@ void buffer_assertion_failure(struct buf
#define J_ASSERT_JH(jh, expr) J_ASSERT(expr)
#endif

-#else
-#define J_ASSERT(assert) do { } while (0)
-#endif /* JBD2_ASSERTIONS */
-
#if defined(JBD2_PARANOID_IOFAIL)
#define J_EXPECT(expr, why...) J_ASSERT(expr)
#define J_EXPECT_BH(bh, expr, why...) J_ASSERT_BH(bh, expr)
_