diff options
-rw-r--r-- | fs/jbd2/journal.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index e378cb383979..a8a358bc0f21 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c | |||
@@ -1187,6 +1187,12 @@ static int journal_reset(journal_t *journal) | |||
1187 | 1187 | ||
1188 | first = be32_to_cpu(sb->s_first); | 1188 | first = be32_to_cpu(sb->s_first); |
1189 | last = be32_to_cpu(sb->s_maxlen); | 1189 | last = be32_to_cpu(sb->s_maxlen); |
1190 | if (first + JBD2_MIN_JOURNAL_BLOCKS > last + 1) { | ||
1191 | printk(KERN_ERR "JBD: Journal too short (blocks %llu-%llu).\n", | ||
1192 | first, last); | ||
1193 | journal_fail_superblock(journal); | ||
1194 | return -EINVAL; | ||
1195 | } | ||
1190 | 1196 | ||
1191 | journal->j_first = first; | 1197 | journal->j_first = first; |
1192 | journal->j_last = last; | 1198 | journal->j_last = last; |