Skip to content

Commit

Permalink
jbd: Fail to load a journal if it is too short
Browse files Browse the repository at this point in the history
Due to on disk corruption, it can happen that journal is too short. Fail
to load it in such case so that we don't oops somewhere later.

Reported-by: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
Signed-off-by: Jan Kara <jack@suse.cz>
  • Loading branch information
Jan Kara committed Jul 15, 2009
1 parent e9e961c commit 7447a66
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions fs/jbd/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -848,6 +848,12 @@ static int journal_reset(journal_t *journal)

first = be32_to_cpu(sb->s_first);
last = be32_to_cpu(sb->s_maxlen);
if (first + JFS_MIN_JOURNAL_BLOCKS > last + 1) {
printk(KERN_ERR "JBD: Journal too short (blocks %lu-%lu).\n",
first, last);
journal_fail_superblock(journal);
return -EINVAL;
}

journal->j_first = first;
journal->j_last = last;
Expand Down

0 comments on commit 7447a66

Please sign in to comment.