summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuane Griffin <duaneg@dghda.com>2008-04-30 06:02:47 +0400
committerTheodore Ts'o <tytso@mit.edu>2008-04-30 06:02:47 +0400
commit620de4e19890c623eb4ba293ec19b42e2e391b89 (patch)
treeaa10ed1a0f8321ab91b68568a2a9ece4b74e51a3
parent5648ba5b2dc0d07a8108fabc7b9100962e9e1d88 (diff)
downloadlinux-620de4e19890c623eb4ba293ec19b42e2e391b89.tar.xz
jbd2: only create debugfs and stats entries if init is successful
jbd2 debugfs and stats entries should only be created if cache initialisation is successful. At the moment they are being created unconditionally which will leave them dangling if cache (and hence module) initialisation fails. Signed-off-by: Duane Griffin <duaneg@dghda.com> Cc: <linux-ext4@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
-rw-r--r--fs/jbd2/journal.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index d707a219e21b..64356e85a10f 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2307,10 +2307,12 @@ static int __init journal_init(void)
BUILD_BUG_ON(sizeof(struct journal_superblock_s) != 1024);
ret = journal_init_caches();
- if (ret != 0)
+ if (ret == 0) {
+ jbd2_create_debugfs_entry();
+ jbd2_create_jbd_stats_proc_entry();
+ } else {
jbd2_journal_destroy_caches();
- jbd2_create_debugfs_entry();
- jbd2_create_jbd_stats_proc_entry();
+ }
return ret;
}