jbd2: if the journal is aborted then don't allow update of the log tail

commit 85e0c4e89c upstream.

This updates the jbd2 superblock unnecessarily, and on an abort we
shouldn't truncate the log.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Theodore Ts'o 2018-02-19 12:22:53 -05:00 коммит произвёл Greg Kroah-Hartman
Родитель 6151a5a45f
Коммит 867175f944
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -961,7 +961,7 @@ out:
}
/*
* This is a variaon of __jbd2_update_log_tail which checks for validity of
* This is a variation of __jbd2_update_log_tail which checks for validity of
* provided log tail and locks j_checkpoint_mutex. So it is safe against races
* with other threads updating log tail.
*/
@ -1404,6 +1404,9 @@ int jbd2_journal_update_sb_log_tail(journal_t *journal, tid_t tail_tid,
journal_superblock_t *sb = journal->j_superblock;
int ret;
if (is_journal_aborted(journal))
return -EIO;
BUG_ON(!mutex_is_locked(&journal->j_checkpoint_mutex));
jbd_debug(1, "JBD2: updating superblock (start %lu, seq %u)\n",
tail_block, tail_tid);