Skip to content

Commit

Permalink
jbd2: replace journal state flag by checking errseq
Browse files Browse the repository at this point in the history
Now JBD2 detects metadata writeback error of fs dev according to errseq.
Replace journal state flag by checking errseq.

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Suggested-by: Jan Kara <jack@suse.cz>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20231213013224.2100050-3-chengzhihao1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
  • Loading branch information
Zhihao Cheng authored and Theodore Ts'o committed Jan 5, 2024
1 parent 990b6b5 commit 62ec170
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions fs/jbd2/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1862,7 +1862,7 @@ int jbd2_journal_update_sb_log_tail(journal_t *journal, tid_t tail_tid,

if (is_journal_aborted(journal))
return -EIO;
if (test_bit(JBD2_CHECKPOINT_IO_ERROR, &journal->j_atomic_flags)) {
if (jbd2_check_fs_dev_write_error(journal)) {
jbd2_journal_abort(journal, -EIO);
return -EIO;
}
Expand Down Expand Up @@ -2160,12 +2160,12 @@ int jbd2_journal_destroy(journal_t *journal)

/*
* OK, all checkpoint transactions have been checked, now check the
* write out io error flag and abort the journal if some buffer failed
* to write back to the original location, otherwise the filesystem
* may become inconsistent.
* writeback errseq of fs dev and abort the journal if some buffer
* failed to write back to the original location, otherwise the
* filesystem may become inconsistent.
*/
if (!is_journal_aborted(journal) &&
test_bit(JBD2_CHECKPOINT_IO_ERROR, &journal->j_atomic_flags))
jbd2_check_fs_dev_write_error(journal))
jbd2_journal_abort(journal, -EIO);

if (journal->j_sb_buffer) {
Expand Down

0 comments on commit 62ec170

Please sign in to comment.