aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose R. Santos <jrs@us.ibm.com>2007-10-19 02:39:23 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-19 14:53:35 -0400
commit9ad163ae0df8a3adab6d521475142392e3efb7a6 (patch)
tree71b72c8d565e5325183cd03ddce070295fd9b01d
parent7a266e75cf5a1efd20d084408a1b7f1a185496dd (diff)
JBD: Fix JBD warnings when compiling with CONFIG_JBD_DEBUG
Note from Mingming's JBD2 fix: Noticed all warnings are occurs when the debug level is 0. Then found the "jbd2: Move jbd2-debug file to debugfs" patch http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f49d5d019afa4e94253bfc92f0daca3badb990b changed the jbd2_journal_enable_debug from int type to u8, makes the jbd_debug comparision is always true when the debugging level is 0. Thus the compile warning occurs. Thought about changing the jbd2_journal_enable_debug data type back to int, but can't, because the jbd2-debug is moved to debug fs, where calling debugfs_create_u8() to create the debugfs entry needs the value to be u8 type. Even if we changed the data type back to int, the code is still buggy, kernel should not print jbd2 debug message if the jbd2_journal_enable_debug is set to 0. But this is not the case. The fix is change the level of debugging to 1. The same should fixed in ext3/JBD, but currently ext3 jbd-debug via /proc fs is broken, so we probably should fix it all together. Signed-off-by: Jose R. Santos <jrs@us.ibm.com> Cc: <linux-ext4@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/ext3/inode.c2
-rw-r--r--fs/jbd/recovery.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index 3dec003b773e..9b162cd6c16c 100644
--- a/fs/ext3/inode.c
+++ b/fs/ext3/inode.c
@@ -2954,7 +2954,7 @@ int ext3_write_inode(struct inode *inode, int wait)
2954 return 0; 2954 return 0;
2955 2955
2956 if (ext3_journal_current_handle()) { 2956 if (ext3_journal_current_handle()) {
2957 jbd_debug(0, "called recursively, non-PF_MEMALLOC!\n"); 2957 jbd_debug(1, "called recursively, non-PF_MEMALLOC!\n");
2958 dump_stack(); 2958 dump_stack();
2959 return -EIO; 2959 return -EIO;
2960 } 2960 }
diff --git a/fs/jbd/recovery.c b/fs/jbd/recovery.c
index 2a5f4b833e35..c5d9694b6a2f 100644
--- a/fs/jbd/recovery.c
+++ b/fs/jbd/recovery.c
@@ -250,10 +250,10 @@ int journal_recover(journal_t *journal)
250 if (!err) 250 if (!err)
251 err = do_one_pass(journal, &info, PASS_REPLAY); 251 err = do_one_pass(journal, &info, PASS_REPLAY);
252 252
253 jbd_debug(0, "JBD: recovery, exit status %d, " 253 jbd_debug(1, "JBD: recovery, exit status %d, "
254 "recovered transactions %u to %u\n", 254 "recovered transactions %u to %u\n",
255 err, info.start_transaction, info.end_transaction); 255 err, info.start_transaction, info.end_transaction);
256 jbd_debug(0, "JBD: Replayed %d and revoked %d/%d blocks\n", 256 jbd_debug(1, "JBD: Replayed %d and revoked %d/%d blocks\n",
257 info.nr_replays, info.nr_revoke_hits, info.nr_revokes); 257 info.nr_replays, info.nr_revoke_hits, info.nr_revokes);
258 258
259 /* Restart the log at the next transaction ID, thus invalidating 259 /* Restart the log at the next transaction ID, thus invalidating
@@ -297,7 +297,7 @@ int journal_skip_recovery(journal_t *journal)
297#ifdef CONFIG_JBD_DEBUG 297#ifdef CONFIG_JBD_DEBUG
298 int dropped = info.end_transaction - be32_to_cpu(sb->s_sequence); 298 int dropped = info.end_transaction - be32_to_cpu(sb->s_sequence);
299#endif 299#endif
300 jbd_debug(0, 300 jbd_debug(1,
301 "JBD: ignoring %d transaction%s from the journal.\n", 301 "JBD: ignoring %d transaction%s from the journal.\n",
302 dropped, (dropped == 1) ? "" : "s"); 302 dropped, (dropped == 1) ? "" : "s");
303 journal->j_transaction_sequence = ++info.end_transaction; 303 journal->j_transaction_sequence = ++info.end_transaction;