Skip to content

Commit

Permalink
jbd2: replace potentially false assertion with if block
Browse files Browse the repository at this point in the history
If an error occurs during jbd2 cache initialisation it is possible for the
journal_head_cache to be NULL when jbd2_journal_destroy_journal_head_cache is
called.  Replace the J_ASSERT with an if block to handle the situation
correctly.

Note that even with this fix things will break badly if jbd2 is statically
compiled in and cache 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>
  • Loading branch information
Duane Griffin authored and Theodore Ts'o committed Apr 17, 2008
1 parent 83c4952 commit 8a9362e
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions fs/jbd2/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1976,9 +1976,10 @@ static int journal_init_jbd2_journal_head_cache(void)

static void jbd2_journal_destroy_jbd2_journal_head_cache(void)
{
J_ASSERT(jbd2_journal_head_cache != NULL);
kmem_cache_destroy(jbd2_journal_head_cache);
jbd2_journal_head_cache = NULL;
if (jbd2_journal_head_cache) {
kmem_cache_destroy(jbd2_journal_head_cache);
jbd2_journal_head_cache = NULL;
}
}

/*
Expand Down

0 comments on commit 8a9362e

Please sign in to comment.