reiserfs: dont use BUG when panicking
authorJeff Mahoney <jeffm@suse.com>
Fri, 19 Oct 2007 06:39:24 +0000 (23:39 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 19 Oct 2007 18:53:35 +0000 (11:53 -0700)
Change reiserfs_panic() to use panic() initially instead of BUG().  Using
BUG() ignores the configurable panic behavior, so systems that should be
failing and rebooting are left hanging.  This causes problems in
active/standby HA scenarios.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/reiserfs/prints.c

index bc808a91eeaa75fba63c211667b3869a295ce1ed..5e7388b32d020f17b6b22fb515bbe04a8a3ee67c 100644 (file)
@@ -356,13 +356,11 @@ extern struct tree_balance *cur_tb;
 void reiserfs_panic(struct super_block *sb, const char *fmt, ...)
 {
        do_reiserfs_warning(fmt);
-       printk(KERN_EMERG "REISERFS: panic (device %s): %s\n",
-              reiserfs_bdevname(sb), error_buf);
-       BUG();
 
-       /* this is not actually called, but makes reiserfs_panic() "noreturn" */
-       panic("REISERFS: panic (device %s): %s\n",
-             reiserfs_bdevname(sb), error_buf);
+       dump_stack();
+
+       panic(KERN_EMERG "REISERFS: panic (device %s): %s\n",
+              reiserfs_bdevname(sb), error_buf);
 }
 
 void reiserfs_abort(struct super_block *sb, int errno, const char *fmt, ...)